Variable modulation with LDPC (low density parity check) coding

ABSTRACT

Variable modulation within combined LDPC (Low Density Parity Check) coding and modulation coding systems. A novel approach is presented for variable modulation encoding of LDPC coded symbols. In addition, LDPC encoding, that generates an LDPC variable code rate signal, may also be performed as well. The encoding can generate an LDPC variable code rate and/or modulation signal whose code rate and/or modulation may vary as frequently as on a symbol by symbol basis. Some embodiments employ a common constellation shape for all of the symbols of the signal sequence, yet individual symbols may be mapped according different mappings of the commonly shaped constellation; such an embodiment may be viewed as generating a LDPC variable mapped signal. In general, any one or more of the code rate, constellation shape, or mapping of the individual symbols of a signal sequence may vary as frequently as on a symbol by symbol basis.

CROSS REFERENCE TO RELATED PATENTS/PATENT APPLICATIONS

[0001] The present U.S. Utility Patent Application claims priority pursuant to 35 U.S.C. §119(e) to the following U.S. Provisional Patent Applications which are hereby incorporated herein by reference in their entirety and made part of the present U.S. Utility Patent Application for all purposes:

[0002] 1. U.S. Provisional Patent Application Ser. No. 60/384,698, entitled “Variable code rate and signal constellation turbo trellis coded modulation codec,” (Attorney Docket No. BP 2333), filed May 31, 2002 (May 31, 2002), pending.

[0003] 2. U.S. Provisional Application Serial No. 60/478,690, “Coded modulation with LDPC (Low Density Parity Check) code using variable maps and metric updating,” (Attorney Docket No. BP3036), filed Jun. 13, 2003 (Jun. 13, 2003), pending.

[0004] The present U.S. Utility Patent Application also claims priority pursuant to 35 U.S.C. §120 to the following U.S. Utility Patent Application which is hereby incorporated herein by reference in its entirety and made part of the present U.S. Utility Patent Application for all purposes:

[0005] 1. U.S. Utility Application Serial No. 10/264,486, entitled “Variable code rate and signal constellation turbo trellis coded modulation codec,” (Attorney Docket No. BP 2333), filed Oct. 4, 2002, pending, which claims priority pursuant to 35 U.S.C. §119(e) to U.S. Provisional Patent Application Ser. No. 60/384,698, entitled “Variable code rate and signal constellation turbo trellis coded modulation codec,” (Attorney Docket No. BP 2333), filed May 31, 2002 (May 31, 2002), pending.

[0006] The following U.S. Utility Patent Application, being filed concurrently, is hereby incorporated herein by reference in its entirety and made part of the present U.S. Utility Patent Application for all purposes:

[0007] 1. U.S. Utility Patent Application Serial No.______, entitled “Metric updating when decoding LDPC (Low Density Parity Check) coded signals and LDPC coded modulation signals,” (Attorney Docket No. BP3036.1), filed Sep. 23, 2003 (Sep. 23, 2003), pending.

BACKGROUND OF THE INVENTION

[0008] 1. Technical Field of the Invention

[0009] The invention relates generally to communication systems; and, more particularly, it relates to encoding of signals within such communication systems.

[0010] 2. Description of Related Art

[0011] Data communication systems have been under continual development for many years. One such type of communication system that has been of significant interest lately is a communication system that employs turbo codes. Another type of communication system that has also received interest is a communication system that employs LDPC (Low Density Parity Check) code. A primary directive in these areas of development has been to try continually to lower the error floor within a communication system. The ideal goal has been to try to reach Shannon's limit in a communication channel. Shannon's limit may be viewed as being the data rate to be used in a communication channel, having a particular SNR (Signal to Noise Ratio), that achieves error free transmission through the communication channel. In other words, the Shannon limit is the theoretical bound for channel capacity for a given modulation and code rate.

[0012] LDPC code has been shown to provide for excellent decoding performance that can approach the Shannon limit in some cases. For example, some LDPC decoders have been shown to come within 0.3 dB (decibels) from the theoretical Shannon limit. While this example was achieved using an irregular LDPC code of a length of one million, it nevertheless demonstrates the very promising application of LDPC codes within communication systems.

[0013] Typical encoding of LDPC coded modulation signals is performed by generating a signal that includes symbols each having a common code rate and being mapped to a singular modulation. That is to say, all of the symbols of such an LDPC coded modulation signal have the same code rate and the same modulation (the same constellation having a singular mapping). Oftentimes, such prior art encoding designs are implemented as to maximize the hardware and processing efficiencies of the particular design employed to generate the LDPC coded modulation signal having the single code rate and single modulation for all of the symbols generated therein.

[0014] With respect to decoding of such LDPC coded modulation signals, decoding is most commonly performed based on a bipartite graph of a given LDPC code such that the graph includes both bit nodes and check nodes. The I,Q (In-phase, Quadratute) values associated with received symbols are associated with a symbol node, and that symbol node is associated with corresponding bit nodes. Bit metrics are then calculated for the individual bits of the corresponding symbols, and those bit metrics are provided to the bit nodes of the bipartite graph of the given LDPC code. Edge information corresponding to the edges that interconnect the bit nodes and the check nodes is calculated, and appropriately updated, and communicated back and forth between the bit nodes and the check nodes during iterative decoding of the LDPC coded signal. Within such typical decoding systems, the bit metric values that are employed are fixed values and used repeatedly in the iterative decoding processing. As such, the performance of such prior art, bit only decoding approaches is inherently limited and may require more iterations to converge on a best estimate of information contained within an LDPC coded modulation signal.

BRIEF SUMMARY OF THE INVENTION

[0015] Various aspects of the invention can be found in any number of devices that perform encoding of LDPC (Low Density Parity Check) coded modulation signals in a manner that employs generating a variable code rate and/or a variable modulation signal. In one instance, the some aspects of the invention may be found in an encoder that performs both LDPC encoding and modulation encoding on a binary sequence to generate an LDPC coded modulation signal. The encoder includes an LDPC encoder, an S/P (Serial to Parallel) mapping functional block, and a plurality of modulation encoders.

[0016] The LDPC encoder performs LDPC coding on the binary sequence to generate an LDPC codeword that includes a plurality of LDPC coded bits. The S/P mapping functional block divides the LDPC codeword into a plurality of paths such that each path of the plurality of paths outputs selected LDPC coded bits of the plurality of LDPC coded bits. The LDPC coded bits that are output from the plurality of paths are grouped together to form a plurality of LDPC coded symbols.

[0017] The plurality of modulation encoders operate cooperatively such that each modulation encoder of the plurality of modulation encoders selectively receives certain LDPC coded symbols of the plurality of LDPC coded symbols according to a predetermined cycle. In addition, each modulation encoder of the plurality of modulation encoders performs modulation encoding on the LDPC coded symbols of the plurality of LDPC coded symbols that it receives thereby generating corresponding pluralities of LDPC coded modulation symbols. The LDPC coded modulation symbols are selected from the corresponding pluralities of LDPC coded modulation symbols to form the LDPC coded modulation signal that is an LDPC variable modulation signal.

[0018] In some embodiments, the S/P mapping functional block divides the LDPC codeword into 3 paths. In such instances, a second n bits of the plurality of LDPC coded bits of the LDPC codeword are provided to a first path of the 3 paths, a last n bits of the plurality of LDPC coded bits of the LDPC codeword are provided to a second path of the 3 paths, and a first n bits of the plurality of LDPC coded bits of the LDPC codeword are provided to a third path of the 3 paths.

[0019] In other instances where the S/P mapping functional block divides the LDPC codeword into 3 paths, a first bit may be selected from a first path of the 3 paths, a second bit may be selected from a second path of the 3 paths, and a third bit may be selected from a third path of the 3 paths. In such embodiments, the first bit, the second bit, and the third bit form are grouped together to form a 3 bit LDPC coded symbol.

[0020] The plurality of modulation encoders may include modulation encoders of different types. For one example, plurality of modulation encoders may include a first modulation encoder and a second modulation encoder, and the plurality of LDPC coded symbols includes a first plurality of LDPC coded symbols and a second plurality of LDPC coded symbols. The first modulation encoder receives all of the LDPC coded symbols of the first plurality of LDPC coded symbols and odd numbered LDPC coded symbols of the second plurality of LDPC coded symbols, and the second modulation encoder receives even numbered LDPC coded symbols of the second plurality of LDPC coded symbols.

[0021] In another embodiment, the plurality of modulation encoders may include a first modulation encoder, a second modulation encoder, and a third modulation encoder. Again, the plurality of LDPC coded symbols includes a first plurality of LDPC coded symbols and a second plurality of LDPC coded symbols. However, in this 3 modulation encoder embodiment (in contradistinction to the 2 modulation encoder embodiment described above), the first modulation encoder receives all of the LDPC coded symbols of the first plurality of LDPC coded symbols, the second modulation encoder receives even numbered LDPC coded symbols of the second plurality of LDPC coded symbols, and the third modulation encoder receives odd numbered LDPC coded symbols of the second plurality of LDPC coded symbols.

[0022] In another embodiment, the plurality of modulation encoders may be implemented to include a first 8 PSK (8 Phase Shift Key) modulation encoder and a second 8 PSK modulation encoder. The first 8 PSK modulation encoder performs modulation encoding using a first modulation on the LDPC coded symbols that it receives thereby generating a first corresponding plurality of LDPC coded modulation symbols, and the second 8 PSK modulation encoder performs modulation encoding using a second modulation on the LDPC coded symbols that it receives thereby generating a second corresponding plurality of LDPC coded modulation symbols. LDPC coded modulation symbols are selected from the first corresponding plurality of LDPC coded modulation symbols and the second corresponding plurality of LDPC coded modulation symbols to form the LDPC coded modulation signal that is an LDPC variable modulation signal.

[0023] In yet another embodiment, the plurality of modulation encoders may be implemented to include a first 8 PSK modulation encoder, a second 8 PSK modulation encoder, and a third 8 PSK modulation encoder. The first 8 PSK modulation encoder performs modulation encoding using a first modulation on the LDPC coded symbols that it receives thereby generating a first corresponding plurality of LDPC coded modulation symbols, the second 8 PSK modulation encoder performs modulation encoding using a second modulation on the LDPC coded symbols that it receives thereby generating a second corresponding plurality of LDPC coded modulation symbols, and the third 8 PSK modulation encoder performs modulation encoding using a third modulation on the LDPC coded symbols that it receives thereby generating a third corresponding plurality of LDPC coded modulation symbols. LDPC coded modulation symbols are selected from the first corresponding plurality of LDPC coded modulation symbols, the second corresponding plurality of LDPC coded modulation symbols, and the third corresponding plurality of LDPC coded modulation symbols to form the LDPC coded modulation signal that is an LDPC variable modulation signal.

[0024] The variable modulation encoding may be generally understood by considering that each modulation encoder of the plurality of modulation encoders performs modulation encoding on the LDPC coded symbols of the plurality of LDPC coded symbols that it receives according to a modulation corresponding to that modulation encoder. In doing so, each modulation encoder employs a different modulation when performing modulation encoding, and each modulation includes a constellation and a corresponding mapping.

[0025] Moreover, the resultant LDPC variable modulation signal may be implemented to include a plurality of LDPC coded modulation symbols. A first LDPC coded modulation symbol of the plurality of LDPC coded modulation symbols is modulation encoded according to a first modulation that includes a first constellation and a corresponding first mapping, and a second LDPC coded modulation symbol of the plurality of LDPC coded modulation symbols is modulation encoded according to a second modulation that includes a second constellation and a corresponding second mapping. Each of the LDPC coded modulation symbol may also mapped according to different mappings. For example, the first constellation and the second constellation may both be 8 PSK shaped constellations such that the first modulation includes the 8 PSK shaped constellation whose constellation points are mapped according to the corresponding first mapping, and the second modulation includes the 8 PSK shaped constellation whose constellation points are mapped according to the corresponding second mapping.

[0026] The LDPC codeword generated by the LDPC encoder may be a variable code rate LDPC codeword. In such instances, the LDPC encoder performs variable code rate LDPC coding on the binary sequence to generate the variable code rate LDPC codeword. The S/P mapping functional block divides the variable code rate LDPC codeword into the plurality of paths such that each path of the plurality of paths outputs selected LDPC coded bits of the plurality of LDPC coded bits. The LDPC coded bits that are output from the plurality of paths are grouped together to form a plurality of LDPC coded symbols such that a first LDPC coded symbol includes a first number of bits and a second LDPC coded symbol includes a second number of bits.

[0027] The encoder may be implemented in a variety of devices including a communication device. The communication device may be implemented within any number of communication systems including a satellite communication system, an HDTV (High Definition Television) communication system, a cellular communication system, a microwave communication system, a point-to-point communication system, a uni-directional communication system, a bi-directional communication system, a one to many communication system, and a fiber-optic communication system.

[0028] Moreover, various types of methods may be performed to support the functionality described herein without departing from the scope and spirit of the invention as well.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

[0029]FIG. 1 is a system diagram illustrating an embodiment of a satellite communication system that is built according to the invention.

[0030]FIG. 2 is a system diagram illustrating an embodiment of an HDTV (High Definition Television) communication system that is built according to the invention.

[0031]FIG. 3A and FIG. 3B are system diagrams illustrating embodiment of uni-directional cellular communication systems that are built according to the invention.

[0032]FIG. 4 is a system diagram illustrating an embodiment of a bi-directional cellular communication system that is built according to the invention.

[0033]FIG. 5 is a system diagram illustrating an embodiment of a uni-directional microwave communication system that is built according to the invention.

[0034]FIG. 6 is a system diagram illustrating an embodiment of a bi-directional microwave communication system that is built according to the invention.

[0035]FIG. 7 is a system diagram illustrating an embodiment of a unidirectional point-to-point radio communication system that is built according to the invention.

[0036]FIG. 8 is a system diagram illustrating an embodiment of a bi-directional point-to-point radio communication system that is built according to the invention.

[0037]FIG. 9 is a system diagram illustrating an embodiment of a uni-directional communication system that is built according to the invention.

[0038]FIG. 10 is a system diagram illustrating an embodiment of a bi-directional communication system that is built according to the invention.

[0039]FIG. 11 is a system diagram illustrating an embodiment of a one to many communication system that is built according to the invention.

[0040]FIG. 12 is a diagram illustrating an embodiment of a WLAN (Wireless Local Area Network) that may be implemented according to the invention.

[0041]FIG. 13 is a diagram illustrating an embodiment of a DSL (Digital Subscriber Line) communication system that may be implemented according to the invention.

[0042]FIG. 14 is a system diagram illustrating an embodiment of a fiber-optic communication system that is built according to the invention.

[0043]FIG. 15 is a system diagram illustrating an embodiment of a satellite receiver STB (Set Top Box) system that is built according to the invention.

[0044]FIG. 16 is a diagram illustrating an embodiment of an LDPC (Low Density Parity Check) code bipartite graph that may be employed according to the invention.

[0045]FIG. 17A is a diagram illustrating an embodiment of direct combining of LDPC (Low Density Parity Check) coding and modulation encoding.

[0046]FIG. 17B is a diagram illustrating an embodiment of BICM (Bit Interleaved Coded Modulation) that is employed in conjunction with LDPC (Low Density Parity Check) coding and modulation encoding.

[0047]FIG. 17C is a diagram illustrating an embodiment of multilevel coded modulation encoding.

[0048]FIG. 18A is a diagram illustrating an embodiment of the HNS (Hughes Network System) proposal to the DVB (Digital Video Broadcasting Project) standard.

[0049]FIG. 18B is a diagram illustrating an embodiment of LDPC (Low Density Parity Check) coded modulation signal encoding that may be performed according to the invention.

[0050]FIG. 19A, FIG. 19B, FIG. 20A, FIG. 20B, FIG. 21A, and FIG. 21B are diagrams illustrating various embodiments of mappings that may be employed according to the invention.

[0051]FIG. 21C is a diagram illustrating a table indicating the relationship between the variable map number and the number of weak points for the MSB (Most Significant Bit), ISB (Inside Significant Bit), and LSB (Least Significant Bit), respectively, according to one embodiment of the invention.

[0052]FIG. 22 is a diagram illustrating an embodiment of a variable signal mapping LDPC (Low Density Parity Check) coded modulation system that is built according to the invention.

[0053]FIG. 23 is a diagram illustrating another embodiment of a variable signal mapping LDPC (Low Density Parity Check) coded modulation system (shown as using code C_(—)2) that is built according to the invention.

[0054]FIG. 24 is a diagram illustrating an embodiment of performance comparison of LDPC (Low Density Parity Check) coded modulation systems that employ a single map vs. multiple maps (shown as 1 map vs. 3 maps) respectively according to the invention.

[0055]FIG. 25 is a diagram illustrating another embodiment of a variable signal mapping LDPC (Low Density Parity Check) coded modulation system that is built in accordance with invention.

[0056]FIG. 26 is a diagram illustrating an embodiment of LDPC (Low Density Parity Check) coded modulation decoding functionality using bit metric according to the invention.

[0057]FIG. 27 is a diagram illustrating an alternative embodiment of LDPC coded modulation decoding functionality using bit metric according to the invention (when performing n number of iterations).

[0058]FIG. 28 is a diagram illustrating bit decoding using bit metric (shown with respect to an LDPC (Low Density Parity Check) code bipartite graph) according to the invention.

[0059]FIG. 29 is a diagram illustrating an embodiment of performance of LDPC coded modulation decoding of different symbol size (1. block with 21600 symbols, 3 bits per symbol and 2. block with 14400 symbols, 3 bits per symbol) according to the invention.

[0060]FIG. 30 is a diagram illustrating an embodiment of an LDPC encoder using puncturing and rate control sequencer to support multiple LDPC encoders according to the invention.

[0061]FIG. 31 is a diagram illustrating an embodiment of periodic sequencing of an LDPC encoder using puncturing and rate control sequencer according to the invention.

[0062]FIG. 32 is a diagram illustrating an embodiment of output bits being grouped/arranged before being mapped according to the invention.

[0063]FIG. 33 is a diagram illustrating a generic embodiment of variable puncturing, constellations, and mappings, using a single LDPC encoder according to the invention.

DETAILED DESCRIPTION OF THE INVENTION

[0064] Various aspects of the invention may be found in any number of devices that perform encoding of LDPC (Low Density Parity Check) coded signals. Moreover, in some embodiments, the encoding may be performed by combining LDPC coding and modulation coding to generate an LDPC coded signal. In some instances of the invention, the LDPC encoding is combined with modulation encoding to generate a variable modulation signal whose modulation may vary as frequently as on a symbol by symbol basis. That is to say, the constellation and/or mapping of the symbols of an LDPC coded variable modulation signal may vary as frequently as on a symbol by symbol basis. In addition, the code rate of the symbols of the coded signal may also vary as frequently as on a symbol by symbol basis. In general, an LDPC signal generated according to the encoding aspects of the invention may be characterized as a variable code rate and/or modulation signal.

[0065] Various system embodiments are described below where any of the various aspects of the invention may be implemented. In general, any device that performs encoding of LDPC coded signals may benefit from the invention. Again, this also includes those LDPC coded signals that have variable code rate and/or modulation as well as those that include combined LDPC coding and modulation coding.

[0066]FIG. 1 is a system diagram illustrating an embodiment of a satellite communication system that is built according to the invention. A satellite transmitter is communicatively coupled to a satellite dish that is operable to communicate with a satellite. The satellite transmitter may also be communicatively coupled to a wired network. This wired network may include any number of networks including the Internet, proprietary networks, and/or other wired networks and/or WANs (Wide Area Networks). The satellite transmitter employs the satellite dish to communicate to the satellite via a wireless communication channel. The satellite is able to communicate with one or more satellite receivers (each having a satellite dish). Each of the satellite receivers may also be communicatively coupled to a display.

[0067] Here, the communication to and from the satellite may cooperatively be viewed as being a wireless communication channel, or each of the communication links to and from the satellite may be viewed as being two distinct wireless communication channels.

[0068] For example, the wireless communication “channel” may be viewed as not including multiple wireless hops in one embodiment. In other multi-hop embodiments, the satellite receives a signal received from the satellite transmitter (via its satellite dish), amplifies it, and relays it to satellite receiver (via its satellite dish); the satellite receiver may also be implemented using terrestrial receivers such as satellite receivers, satellite based telephones, and/or satellite based Internet receivers, among other receiver types. In the case where the satellite receives a signal received from the satellite transmitter (via its satellite dish), amplifies it, and relays it, the satellite may be viewed as being a “transponder;” this is a multi-hop embodiment. In addition, other satellites may exist that perform both receiver and transmitter operations in cooperation with the satellite. In this case, each leg of an up-down transmission via the wireless communication channel would be considered separately.

[0069] In whichever embodiment, the satellite communicates with the satellite receiver. The satellite receiver may be viewed as being a mobile unit in certain embodiments (employing a local antenna); alternatively, the satellite receiver may be viewed as being a satellite earth station that may be communicatively coupled to a wired network in a similar manner in which the satellite transmitter may also be communicatively coupled to a wired network.

[0070] The satellite transmitter is operable to encode information (using an encoder) that is to be transmitted to the satellite receiver; the satellite receiver is operable to decode the transmitted signal (using a decoder). The encoder may be implemented to perform encoding using LDPC coded modulation. The LDPC encoding may be performed to generate an LDPC variable code rate and/or modulation signal whose code rate and/or modulation may vary as frequently as on a symbol by symbol basis. Any one or both of the code rate and modulation (including constellation and/or mapping) of the symbols may vary as frequently as on a symbol by symbol basis. The encoding may be performed using combined LDPC encoding and modulation encoding to generate the LDPC signal sequence to be transmitted.

[0071] The decoders within the satellite receivers may be implemented to perform decoding of LDPC coded signals. This decoding processing is also operable to decode an LDPC variable code rate and/or modulation signal whose code rate and/or modulation (including constellation and/or mapping) may vary as frequently as on a symbol by symbol basis. In addition, the decoding processing may operate to decode an LDPC coded signal having a common code rate and modulation for all of the symbols contained therein. This diagram shows just one of the many embodiments where one or more of the various aspects of the invention may be found.

[0072]FIG. 2 is a system diagram illustrating an embodiment of an HDTV (High Definition Television) communication system that is built according to the invention. An HDTV transmitter is communicatively coupled to a tower. The HDTV transmitter, using its tower, transmits a signal to a local tower dish via a wireless communication channel. The local tower dish may communicatively couple to an HDTV STB (Set Top Box) receiver via a coaxial cable. The HDTV STB receiver includes the functionality to receive the wireless transmitted signal that has been received by the local tower dish; this may include any transformation and/or down-converting that may be needed to accommodate any up-converting that may have been performed before and during transmission of the signal from the HDTV transmitter and its tower to transform the signal into a format that is compatible with the communication channel across which it is transmitted.

[0073] The HDTV STB receiver is also communicatively coupled to an HDTV display that is able to display the demodulated and decoded wireless transmitted signals received by the HDTV STB receiver and its local tower dish. The HDTV transmitter (via its tower) transmits a signal directly to the local tower dish via the wireless communication channel in this embodiment. In alternative embodiments, the HDTV transmitter may first receive a signal from a satellite, using a satellite earth station that is communicatively coupled to the HDTV transmitter, and then transmit this received signal to the local tower dish via the wireless communication channel. In this situation, the HDTV transmitter operates as a relaying element to transfer a signal originally provided by the satellite that is destined for the HDTV STB receiver. For example, another satellite earth station may first transmit a signal to the satellite from another location, and the satellite may relay this signal to the satellite earth station that is communicatively coupled to the HDTV transmitter. The HDTV transmitter performs receiver functionality and then transmits its received signal to the local tower dish.

[0074] In even other embodiments, the HDTV transmitter employs its satellite earth station to communicate to the satellite via a wireless communication channel. The satellite is able to communicate with a local satellite dish; the local satellite dish communicatively couples to the HDTV STB receiver via a coaxial cable. This path of transmission shows yet another communication path where the HDTV STB receiver may communicate with the HDTV transmitter.

[0075] In whichever embodiment and whichever signal path the HDTV transmitter employs to communicate with the HDTV STB receiver, the HDTV STB receiver is operable to receive communication transmissions from the HDTV transmitter.

[0076] The HDTV transmitter is operable to encode information (using an encoder) that is to be transmitted to the HDTV STB receiver; the HDTV STB receiver is operable to decode the transmitted signal (using a decoder).

[0077] As within other embodiments that employ an encoder, the encoder may be implemented to perform encoding using LDPC coded modulation. The LDPC encoding may be performed to generate an LDPC variable code rate and/or modulation signal whose code rate and/or modulation may vary as frequently as on a symbol by symbol basis. Any one or both of the code rate and modulation (including constellation and/or mapping) of the symbols may vary as frequently as on a symbol by symbol basis. The encoding may be performed using combined LDPC encoding and modulation encoding to generate the LDPC signal sequence to be transmitted.

[0078] As within other embodiments that employ a decoder, the decoder may be implemented to perform decoding of LDPC coded signals. This decoding processing is also operable to decode an LDPC variable code rate and/or modulation signal whose code rate and/or modulation (including constellation and/or mapping) may vary as frequently as on a symbol by symbol basis. In addition, the decoding processing may operate to decode an LDPC coded signal having a common code rate and modulation for all of the symbols contained therein. This diagram shows yet another embodiment where one or more of the various aspects of the invention may be found.

[0079]FIG. 3A and FIG. 3B are system diagrams illustrating embodiments of uni-directional cellular communication systems that are built according to the invention.

[0080] Referring to the FIG. 3A, a mobile transmitter includes a local antenna communicatively coupled thereto. The mobile transmitter may be any number of types of transmitters including a one way cellular telephone, a wireless pager unit, a mobile computer having transmit functionality, or any other type of mobile transmitter. The mobile transmitter transmits a signal, using its local antenna, to a cellular tower via a wireless communication channel. The cellular tower is communicatively coupled to a base station receiver; the receiving tower is operable to receive data transmission from the local antenna of the mobile transmitter that has been communicated via the wireless communication channel. The cellular tower communicatively couples the received signal to the base station receiver.

[0081] The mobile transmitter is operable to encode information (using an encoder) that is to be transmitted to the base station receiver; the base station receiver is operable to decode the transmitted signal (using a decoder).

[0082] As within other embodiments that employ an encoder, the encoder may be implemented to perform encoding using LDPC coded modulation. The LDPC encoding may be performed to generate an LDPC variable code rate and/or modulation signal whose code rate and/or modulation may vary as frequently as on a symbol by symbol basis. Any one or both of the code rate and modulation (including constellation and/or mapping) of the symbols may vary as frequently as on a symbol by symbol basis. The encoding may be performed using combined LDPC encoding and modulation encoding to generate the LDPC signal sequence to be transmitted.

[0083] As within other embodiments that employ a decoder, the decoder may be implemented to perform decoding of LDPC coded signals. This decoding processing is also operable to decode an LDPC variable code rate and/or modulation signal whose code rate and/or modulation (including constellation and/or mapping) may vary as frequently as on a symbol by symbol basis. In addition, the decoding processing may operate to decode an LDPC coded signal having a common code rate and modulation for all of the symbols contained therein. This diagram shows yet another embodiment where one or more of the various aspects of the invention may be found.

[0084] Referring to the FIG. 3B, a base station transmitter includes a cellular tower communicatively coupled thereto. The base station transmitter, using its cellular tower, transmits a signal to a mobile receiver via a communication channel. The mobile receiver may be any number of types of receivers including a one-way cellular telephone, a wireless pager unit, a mobile computer having receiver functionality, or any other type of mobile receiver. The mobile receiver is communicatively coupled to a local antenna; the local antenna is operable to receive data transmission from the cellular tower of the base station transmitter that has been communicated via the wireless communication channel. The local antenna communicatively couples the received signal to the mobile receiver.

[0085] The base station transmitter is operable to encode information (using an encoder) that is to be transmitted to the mobile receiver; the mobile receiver is operable to decode the transmitted signal (using a decoder).

[0086] As within other embodiments that employ an encoder, the encoder may be implemented to perform encoding using LDPC coded modulation. The LDPC encoding may be performed to generate an LDPC variable code rate and/or modulation signal whose code rate and/or modulation may vary as frequently as on a symbol by symbol basis. Any one or both of the code rate and modulation (including constellation and/or mapping) of the symbols may vary as frequently as on a symbol by symbol basis. The encoding may be performed using combined LDPC encoding and modulation encoding to generate the LDPC signal sequence to be transmitted.

[0087] As within other embodiments that employ a decoder, the decoder may be implemented to perform decoding of LDPC coded signals. This decoding processing is also operable to decode an LDPC variable code rate and/or modulation signal whose code rate and/or modulation (including constellation and/or mapping) may vary as frequently as on a symbol by symbol basis. In addition, the decoding processing may operate to decode an LDPC coded signal having a common code rate and modulation for all of the symbols contained therein. This diagram shows yet another embodiment where one or more of the various aspects of the invention may be found.

[0088]FIG. 4 is a system diagram illustrating an embodiment of a bi-directional cellular communication system, that is built according to the invention, where the communication can go to and from the base station transceiver and to and from the mobile transceiver via the wireless communication channel.

[0089] Referring to the FIG. 4, a base station transceiver includes a cellular tower communicatively coupled thereto. The base station transceiver, using its cellular tower, transmits a signal to a mobile transceiver via a communication channel. The reverse communication operation may also be performed. The mobile transceiver is able to transmit a signal to the base station transceiver as well. The mobile transceiver may be any number of types of transceiver including a cellular telephone, a wireless pager unit, a mobile computer having transceiver functionality, or any other type of mobile transceiver. The mobile transceiver is communicatively coupled to a local antenna; the local antenna is operable to receive data transmission from the cellular tower of the base station transceiver that has been communicated via the wireless communication channel. The local antenna communicatively couples the received signal to the mobile transceiver.

[0090] The base station transceiver is operable to encode information (using its corresponding encoder) that is to be transmitted to the mobile transceiver; the mobile transceiver is operable to decode the transmitted signal (using its corresponding decoder). Similarly, mobile transceiver is operable to encode information (using its corresponding encoder) that is to be transmitted to the base station transceiver; the base station transceiver is operable to decode the transmitted signal (using its corresponding decoder).

[0091] As within other embodiments that employ an encoder, the encoder of either of the base station transceiver or the mobile transceiver may be implemented to perform encoding using LDPC coded modulation. The LDPC encoding may be performed to generate an LDPC variable code rate and/or modulation signal whose code rate and/or modulation may vary as frequently as on a symbol by symbol basis. Any one or both of the code rate and modulation (including constellation and/or mapping) of the symbols may vary as frequently as on a symbol by symbol basis. The encoding may be performed using combined LDPC encoding and modulation encoding to generate the LDPC signal sequence to be transmitted.

[0092] As within other embodiments that employ a decoder, the decoder of either of the base station transceiver or the mobile transceiver may be implemented to perform decoding of LDPC coded signals. This decoding processing is also operable to decode an LDPC variable code rate and/or modulation signal whose code rate and/or modulation (including constellation and/or mapping) may vary as frequently as on a symbol by symbol basis. In addition, the decoding processing may operate to decode an LDPC coded signal having a common code rate and modulation for all of the symbols contained therein. This diagram shows yet another embodiment where one or more of the various aspects of the invention may be found.

[0093]FIG. 5 is a system diagram illustrating an embodiment of a unidirectional microwave communication system that is built according to the invention. A microwave transmitter is communicatively coupled to a microwave tower. The microwave transmitter, using its microwave tower, transmits a signal to a microwave tower via a wireless communication channel. A microwave receiver is communicatively coupled to the microwave tower. The microwave tower is able to receive transmissions from the microwave tower that have been communicated via the wireless communication channel.

[0094] The microwave transmitter is operable to encode information (using an encoder) that is to be transmitted to the microwave receiver; the microwave receiver is operable to decode the transmitted signal (using a decoder).

[0095] As within other embodiments that employ an encoder, the encoder may be implemented to perform encoding using LDPC coded modulation. The LDPC encoding may be performed to generate an LDPC variable code rate and/or modulation signal whose code rate and/or modulation may vary as frequently as on a symbol by symbol basis. Any one or both of the code rate and modulation (including constellation and/or mapping) of the symbols may vary as frequently as on a symbol by symbol basis. The encoding may be performed using combined LDPC encoding and modulation encoding to generate the LDPC signal sequence to be transmitted.

[0096] As within other embodiments that employ a decoder, the decoder may be implemented to perform decoding of LDPC coded signals. This decoding processing is also operable to decode an LDPC variable code rate and/or modulation signal whose code rate and/or modulation (including constellation and/or mapping) may vary as frequently as on a symbol by symbol basis. In addition, the decoding processing may operate to decode an LDPC coded signal having a common code rate and modulation for all of the symbols contained therein. This diagram shows yet another embodiment where one or more of the various aspects of the invention may be found.

[0097]FIG. 6 is a system diagram illustrating an embodiment of a bi-directional microwave communication system that is built according to the invention. Within this diagram, a first microwave transceiver is communicatively coupled to a first microwave tower. The first microwave transceiver, using the first microwave tower (the first microwave transceiver's microwave tower), transmits a signal to a second microwave tower of a second microwave transceiver via a wireless communication channel. The second microwave transceiver is communicatively coupled to the second microwave tower (the second microwave transceiver's microwave tower). The second microwave tower is able to receive transmissions from the first microwave tower that have been communicated via the wireless communication channel. The reverse communication operation may also be performed using the first and second microwave transceivers.

[0098] Each of the microwave transceivers is operable to encode information (using an encoder) that is to be transmitted to the other microwave transceiver; each microwave transceiver is operable to decode the transmitted signal (using a decoder) that it receives. Each of the microwave transceivers includes an encoder and a decoder.

[0099] As within other embodiments that employ an encoder, the encoder of either of the microwave transceivers may be implemented to perform encoding using LDPC coded modulation. The LDPC encoding may be performed to generate an LDPC variable code rate and/or modulation signal whose code rate and/or modulation may vary as frequently as on a symbol by symbol basis. Any one or both of the code rate and modulation (including constellation and/or mapping) of the symbols may vary as frequently as on a symbol by symbol basis. The encoding may be performed using combined LDPC encoding and modulation encoding to generate the LDPC signal sequence to be transmitted.

[0100] As within other embodiments that employ a decoder, the decoder of either of the microwave transceivers may be implemented to perform decoding of LDPC coded signals. This decoding processing is also operable to decode an LDPC variable code rate and/or modulation signal whose code rate and/or modulation (including constellation and/or mapping) may vary as frequently as on a symbol by symbol basis. In addition, the decoding processing may operate to decode an LDPC coded signal having a common code rate and modulation for all of the symbols contained therein. This diagram shows yet another embodiment where one or more of the various aspects of the invention may be found.

[0101]FIG. 7 is a system diagram illustrating an embodiment of a uni-directional point-to-point radio communication system, that is built according to the invention, where the communication goes from a mobile unit transmitter to a mobile unit receiver via the wireless communication channel.

[0102] A mobile unit transmitter includes a local antenna communicatively coupled thereto. The mobile unit transmitter, using its local antenna, transmits a signal to a local antenna of a mobile unit receiver via a wireless communication channel.

[0103] The mobile unit transmitter is operable to encode information (using an encoder) that is to be transmitted to the mobile unit receiver; the mobile unit receiver is operable to decode the transmitted signal (using a decoder).

[0104] As within other embodiments that employ an encoder, the encoder may be implemented to perform encoding using LDPC coded modulation. The LDPC encoding may be performed to generate an LDPC variable code rate and/or modulation signal whose code rate and/or modulation may vary as frequently as on a symbol by symbol basis. Any one or both of the code rate and modulation (including constellation and/or mapping) of the symbols may vary as frequently as on a symbol by symbol basis. The encoding may be performed using combined LDPC encoding and modulation encoding to generate the LDPC signal sequence to be transmitted.

[0105] As within other embodiments that employ a decoder, the decoder may be implemented to perform decoding of LDPC coded signals. This decoding processing is also operable to decode an LDPC variable code rate and/or modulation signal whose code rate and/or modulation (including constellation and/or mapping) may vary as frequently as on a symbol by symbol basis. In addition, the decoding processing may operate to decode an LDPC coded signal having a common code rate and modulation for all of the symbols contained therein. This diagram shows yet another embodiment where one or more of the various aspects of the invention may be found.

[0106]FIG. 8 is a system diagram illustrating an embodiment of a bi-directional point-to-point radio communication system that is built according to the invention. Within this diagram, a first mobile unit transceiver is communicatively coupled to a first local antenna. The first mobile unit transceiver, using the first local antenna (the first mobile unit transceiver's local antenna), transmits a signal to a second local antenna of a second mobile unit transceiver via a wireless communication channel. The second mobile unit transceiver is communicatively coupled to the second local antenna (the second mobile unit transceiver's local antenna). The second local antenna is able to receive transmissions from the first local antenna that have been communicated via the communication channel. The reverse communication operation may also be performed using the first and second mobile unit transceivers.

[0107] Each mobile unit transceiver is operable to encode information (using its corresponding encoder) that is to be transmitted to the other mobile unit transceiver; each mobile unit transceiver is operable to decode the transmitted signal (using its corresponding decoder) that it receives.

[0108] As within other embodiments that employ an encoder, the encoder of either of the mobile unit transceivers may be implemented to perform encoding using LDPC coded modulation. The LDPC encoding may be performed to generate an LDPC variable code rate and/or modulation signal whose code rate and/or modulation may vary as frequently as on a symbol by symbol basis. Any one or both of the code rate and modulation (including constellation and/or mapping) of the symbols may vary as frequently as on a symbol by symbol basis. The encoding may be performed using combined LDPC encoding and modulation encoding to generate the LDPC signal sequence to be transmitted.

[0109] As within other embodiments that employ a decoder, the decoder of either of the mobile unit transceivers may be implemented to perform decoding of LDPC coded signals. This decoding processing is also operable to decode an LDPC variable code rate and/or modulation signal whose code rate and/or modulation (including constellation and/or mapping) may vary as frequently as on a symbol by symbol basis. In addition, the decoding processing may operate to decode an LDPC coded signal having a common code rate and modulation for all of the symbols contained therein. This diagram shows yet another embodiment where one or more of the various aspects of the invention may be found.

[0110]FIG. 9 is a system diagram illustrating an embodiment of a uni-directional communication system that is built according to the invention. A transmitter communicates to a receiver via a uni-directional communication channel. The uni-directional communication channel may be a wireline (or wired) communication channel or a wireless communication channel without departing from the scope and spirit of the invention. The wired media by which the uni-directional communication channel may be implemented are varied, including coaxial cable, fiber-optic cabling, and copper cabling, among other types of “wiring.” Similarly, the wireless manners in which the uni-directional communication channel may be implemented are varied, including satellite communication, cellular communication, microwave communication, and radio communication, among other types of wireless communication.

[0111] The transmitter is operable to encode information (using an encoder) that is to be transmitted to the receiver; the receiver is operable to decode the transmitted signal (using a decoder).

[0112] As within other embodiments that employ an encoder, the encoder may be implemented to perform encoding using LDPC coded modulation. The LDPC encoding may be performed to generate an LDPC variable code rate and/or modulation signal whose code rate and/or modulation may vary as frequently as on a symbol by symbol basis. Any one or both of the code rate and modulation (including constellation and/or mapping) of the symbols may vary as frequently as on a symbol by symbol basis. The encoding may be performed using combined LDPC encoding and modulation encoding to generate the LDPC signal sequence to be transmitted.

[0113] As within other embodiments that employ a decoder, the decoder may be implemented to perform decoding of LDPC coded signals. This decoding processing is also operable to decode an LDPC variable code rate and/or modulation signal whose code rate and/or modulation (including constellation and/or mapping) may vary as frequently as on a symbol by symbol basis. In addition, the decoding processing may operate to decode an LDPC coded signal having a common code rate and modulation for all of the symbols contained therein. This diagram shows yet another embodiment where one or more of the various aspects of the invention may be found.

[0114]FIG. 10 is a system diagram illustrating an embodiment of a bi-directional communication system that is built according to the invention. Within this diagram, a first transceiver is communicatively coupled to a second transceiver via a bi-directional communication channel. The bi-directional communication channel may be a wireline (or wired) communication channel or a wireless communication channel without departing from the scope and spirit of the invention. The wired media by which the bi-directional communication channel may be implemented are varied, including coaxial cable, fiber-optic cabling, and copper cabling, among other types of “wiring.” Similarly, the wireless manners in which the bi-directional communication channel may be implemented are varied, including satellite communication, cellular communication, microwave communication, and radio communication, among other types of wireless communication.

[0115] Each of the transceivers is operable to encode information (using its corresponding encoder) that is to be transmitted to the other transceiver; each transceiver is operable to decode the transmitted signal (using its corresponding decoder) that it receives.

[0116] As within other embodiments that employ an encoder, the encoder of either of the transceivers may be implemented to perform encoding using LDPC coded modulation. The LDPC encoding may be performed to generate an LDPC variable code rate and/or modulation signal whose code rate and/or modulation may vary as frequently as on a symbol by symbol basis. Any one or both of the code rate and modulation (including constellation and/or mapping) of the symbols may vary as frequently as on a symbol by symbol basis. The encoding may be performed using combined LDPC encoding and modulation encoding to generate the LDPC signal sequence to be transmitted.

[0117] As within other embodiments that employ a decoder, the decoder of either of the transceivers may be implemented to perform decoding of LDPC coded signals. This decoding processing is also operable to decode an LDPC variable code rate and/or modulation signal whose code rate and/or modulation (including constellation and/or mapping) may vary as frequently as on a symbol by symbol basis. In addition, the decoding processing may operate to decode an LDPC coded signal having a common code rate and modulation for all of the symbols contained therein. This diagram shows yet another embodiment where one or more of the various aspects of the invention may be found.

[0118]FIG. 11 is a system diagram illustrating an embodiment of a one to many communication system that is built according to the invention. A transmitter is able to communicate, via broadcast in certain embodiments, with a number of receivers, shown as receivers 1, . . ., n via a uni-directional communication channel. The uni-directional communication channel may be a wireline (or wired) communication channel or a wireless communication channel without departing from the scope and spirit of the invention. The wired media by which the bi-directional communication channel may be implemented are varied, including coaxial cable, fiber-optic cabling, and copper cabling, among other types of “wiring.” Similarly, the wireless manners in which the bi-directional communication channel may be implemented are varied, including satellite communication, cellular communication, microwave communication, and radio communication, among other types of wireless communication.

[0119] A distribution point is employed within the one to many communication system to provide the appropriate communication to the receivers 1, . . ., and n. In certain embodiments, the receivers 1, . . ., and n each receive the same communication and individually discern which portion of the total communication is intended for them.

[0120] The transmitter is operable to encode information (using an encoder) that is to be transmitted to the receivers 1, . . . , and n; each of the receivers 1, . . . , and n is operable to decode the transmitted signal (using a decoder).

[0121] As within other embodiments that employ an encoder, the encoder may be implemented to perform encoding using LDPC coded modulation. The LDPC encoding may be performed to generate an LDPC variable code rate and/or modulation signal whose code rate and/or modulation may vary as frequently as on a symbol by symbol basis. Any one or both of the code rate and modulation (including constellation and/or mapping) of the symbols may vary as frequently as on a symbol by symbol basis. The encoding may be performed using combined LDPC encoding and modulation encoding to generate the LDPC signal sequence to be transmitted.

[0122] As within other embodiments that employ a decoder, the decoders of any of the receivers 1, . . . , and n may be implemented to perform decoding of LDPC coded signals. This decoding processing is also operable to decode an LDPC variable code rate and/or modulation signal whose code rate and/or modulation (including constellation and/or mapping) may vary as frequently as on a symbol by symbol basis. In addition, the decoding processing may operate to decode an LDPC coded signal having a common code rate and modulation for all of the symbols contained therein. This diagram shows yet another embodiment where one or more of the various aspects of the invention may be found.

[0123]FIG. 12 is a diagram illustrating an embodiment of a WLAN (Wireless Local Area Network) that may be implemented according to the invention. The WLAN communication system may be implemented to include a number of devices that are all operable to communicate with one another via the WLAN. For example, the various devices that each include the functionality to interface with the WLAN may include any 1 or more of a laptop computer, a television, a PC (Personal Computer), a pen computer (that may be viewed as being a PDA (Personal Digital Assistant) in some instances, a personal electronic planner, or similar device), a mobile unit (that may be viewed as being a telephone, a pager, or some other mobile WLAN operable device), and/or a stationary unit (that may be viewed as a device that typically resides in a single location within the WLAN). The antennae of the various WLAN interactive devices may be integrated into the corresponding devices without departing from the scope and spirit of the invention as well.

[0124] This illustrated group of devices that may interact with the WLAN is not intended to be an exhaustive list of device that may interact with a WLAN, and a generic device shown as a WLAN interactive device represents a generic device that includes the functionality in order to interactive with the WLAN itself and/or the other devices that are associated with the WLAN. Any one of these devices that associate with the WLAN may be viewed generically as being a WLAN interactive device without departing from the scope and spirit of the invention. Each of the devices and the WLAN interactive device may be viewed as being located at nodes of the WLAN.

[0125] It is also noted that the WLAN itself may also include functionality to allow interfacing with other networks as well. These external networks may generically be referred to as WANs (Wide Area Networks). For example, the WLAN may include an Internet I/F (interface) that allows for interfacing to the Internet itself. This Internet I/F may be viewed as being a base station device for the WLAN that allows any one of the WLAN interactive devices to access the Internet.

[0126] It is also noted that the WLAN may also include functionality to allow interfacing with other networks (e.g., other WANs) besides simply the Internet. For example, the WLAN may include a microwave tower I/F that allows for interfacing to a microwave tower thereby allowing communication with one or more microwave networks. Similar to the Internet I/F described above, the microwave tower I/F may be viewed as being a base station device for the WLAN that allows any one of the WLAN interactive devices to access the one or more microwave networks via the microwave tower.

[0127] Moreover, the WLAN may include a satellite earth station I/F that allows for interfacing to a satellite earth station thereby allowing communication with one or more satellite networks. The satellite earth station I/F may be viewed as being a base station device for the WLAN that allows any one of the WLAN interactive devices to access the one or more satellite networks via the satellite earth station I/F.

[0128] This finite listing of various network types that may interface to the WLAN is also not intended to be exhaustive. For example, any other network may communicatively couple to the WLAN via an appropriate I/F that includes the functionality for any one of the WLAN interactive devices to access the other network.

[0129] Any of the various WLAN interactive devices described within this embodiment may include an encoder and a decoder to allow bi-directional communication with the other WLAN interactive device and/or the WANs.

[0130] Again, as within other embodiments described herein that employ an encoder, the encoder of any of the WLAN interactive devices may be implemented to perform encoding using LDPC coded modulation. The LDPC encoding may be performed to generate an LDPC variable code rate and/or modulation signal whose code rate and/or modulation may vary as frequently as on a symbol by symbol basis. Any one or both of the code rate and modulation (including constellation and/or mapping) of the symbols may vary as frequently as on a symbol by symbol basis. The encoding may be performed using combined LDPC encoding and modulation encoding to generate the LDPC signal sequence to be transmitted.

[0131] As within other embodiments that employ a decoder, the decoder of any of the WLAN interactive devices may be implemented to perform decoding of LDPC coded signals. This decoding processing is also operable to decode an LDPC variable code rate and/or modulation signal whose code rate and/or modulation (including constellation and/or mapping) may vary as frequently as on a symbol by symbol basis. In addition, the decoding processing may operate to decode an LDPC coded signal having a common code rate and modulation for all of the symbols contained therein. This diagram shows yet another embodiment where one or more of the various aspects of the invention may be found.

[0132] In general, any one of the WLAN interactive devices may be characterized as being an IEEE (Institute of Electrical & Electronics Engineers) 802.11 operable device. For example, such an 802.11 operable device may be an 802.11a operable device, an 802.11b operable device, or an 802.11g operable device. The IEEE 802.11g specification extends the rates for packet transmission in the 2.4 GHz frequency band. This is achieved by allowing packets, also known as frames, of two distinct types to coexist in this band. Frames utilizing DSSS/CCK (Direct Sequence Spread Spectrum with Complementary Code Keying) have been specified for transmission in the 2.4 GHz band at rates up to 11 Mbps (Mega-bits per second) as part of the 802.11b standard. The 802.11a standard uses a different frame format with OFDM (Orthogonal Frequency Division Multiplexing) to transmit at rates up to 54 Mbps with carrier frequencies in the 5 GHz range. The 802.11g specification allows for such OFDM frames to coexist with DSSS/CCK frames at 2.4 GHz.

[0133]FIG. 13 is a diagram illustrating an embodiment of a DSL (Digital Subscriber Line) communication system that may be implemented according to the invention. The DSL communication system includes an interfacing to the Internet (or some other WAN). In this diagram, the Internet itself is shown, but other WANs may also be employed without departing from the scope and spirit of the invention. An ISP (Internet Service Provider) is operable to communicate data to and from the Internet. The ISP communicatively couples to a CO (Central Office) that is typically operated by a telephones service company. The CO may also allow provide telephone services to one or more subscribers. However, the CO may also be implemented to allow interfacing of Internet traffic to and from one or more users (whose interactive devices are shown as user devices). These user devices may be a wide variety of devices including desk-top computers, laptop computers, servers, and/or hand held devices without departing from the scope and spirit of the invention. Any of these user devices may be wired or wireless typed devices as well. Each of the user devices is operably coupled to the CO via a DSL modem. The DSL modem may also be communicatively coupled to a multiple user access point or hub to allow more than one user device to access the Internet.

[0134] The CO and the various DSL modems may also be implemented to include an encoder and a decoder to allow bi-directional communication therein. For example, the CO is operable to encode and decode data when communicating to and from the various DSL modems and the ISP. Similarly, each of the various DSL modems is operable to encode and decode data when communicating to and from the CO and its respective one or more user devices.

[0135] Again, as within other embodiments described herein that employ an encoder, the encoder of any of the CO and the various DSL modems may be implemented to perform encoding using LDPC coded modulation. The LDPC encoding may be performed to generate an LDPC variable code rate and/or modulation signal whose code rate and/or modulation may vary as frequently as on a symbol by symbol basis. Any one or both of the code rate and modulation (including constellation and/or mapping) of the symbols may vary as frequently as on a symbol by symbol basis. The encoding may be performed using combined LDPC encoding and modulation encoding to generate the LDPC signal sequence to be transmitted.

[0136] As within other embodiments that employ a decoder, the decoder of any of the CO and the various DSL modems may be implemented to perform decoding of LDPC coded signals. This decoding processing is also operable to decode an LDPC variable code rate and/or modulation signal whose code rate and/or modulation (including constellation and/or mapping) may vary as frequently as on a symbol by symbol basis. In addition, the decoding processing may operate to decode an LDPC coded signal having a common code rate and modulation for all of the symbols contained therein. This diagram shows yet another embodiment where one or more of the various aspects of the invention may be found.

[0137]FIG. 14 is a system diagram illustrating an embodiment of a fiber-optic communication system that is built according to the invention. The fiber-optic communication system may be implemented to support LDPC encoding. In addition, the fiber-optic communication system may be implemented to support LDPC decoding.

[0138] The fiber-optic communication system includes a DWDM (Dense Wavelength Division Multiplexing (within the context of fiber optic communications)) line card that is interposed between a line side and a client side. DWDM is a technology that has gained increasing interest recently. From both technical and economic perspectives, the ability to provide potentially unlimited transmission capacity is the most obvious advantage of DWDM technology. The current investment already made within fiber-optic infrastructure can not only be preserved when using DWDM, but it may even be optimized by a factor of at least 32. As demands change, more capacity can be added, either by simple equipment upgrades or by increasing the number of wavelengths (lambdas) on the fiber-optic cabling itself, without expensive upgrades. Capacity can be obtained for the cost of the equipment, and existing fiber plant investment is retained. From the bandwidth perspective, some of the most compelling technical advantage of DWDM can be summarized as follows:

[0139] The transparency of DWDM: Because DWDM is a physical layer architecture (PHY), it can transparently support both TDM (Time Division Multiplexing) and data formats such as ATM (asynchronous transfer mode), Gigabit Ethernet, ESCON, and Fibre Channel with open interfaces over a common physical layer.

[0140] The scalability of DWDM: DWDM can leverage the abundance of dark fiber in many metropolitan area and enterprise networks to quickly meet demand for capacity on point-to-point links and on spans of existing SONET/SDH rings.

[0141] The dynamic provisioning capabilities of DWDM: the fast, simple, and dynamic provisioning of network connections give providers the ability to provide high-bandwidth services in days rather than months.

[0142] Fiber-optic interfacing is employed at each of the client and line sides of the DWDM line card. The DWDM line card includes a transport processor that includes functionality to support DWDM long haul transport, DWDM metro transport, next-generation SONET/SDH multiplexers, digital cross-connects, and fiber-optic terminators and test equipment. On the line side, the DWDM line card includes a transmitter, that is operable to perform electrical to optical conversion for interfacing to an optical medium, and a receiver, that is operable to perform optical to electrical conversion for interfacing from the optical medium. On the client side, the DWDM line card includes a 10G serial module that is operable to communicate with any other devices on the client side of the fiber-optic communication system using a fiber-optic interface. Alternatively, the interface may be implemented using non-fiber-optic media, including copper cabling and/or some other type of interface medium.

[0143] The DWDM transport processor of the DWDM line card includes a decoder that is used to decode received signals from either one or both of the line and client sides and an encoder that is used to encode signals to be transmitted to either one or both of the line and client sides.

[0144] As within other embodiments that employ an encoder, the encoder may be implemented to perform encoding using LDPC coded modulation. The LDPC encoding may be performed to generate an LDPC variable code rate and/or modulation signal whose code rate and/or modulation may vary as frequently as on a symbol by symbol basis. Any one or both of the code rate and modulation (including constellation and/or mapping) of the symbols may vary as frequently as on a symbol by symbol basis. The encoding may be performed using combined LDPC encoding and modulation encoding to generate the LDPC signal sequence to be transmitted.

[0145] As within other embodiments that employ a decoder, the decoder may be implemented to perform decoding of LDPC coded signals. This decoding processing is also operable to decode an LDPC variable code rate and/or modulation signal whose code rate and/or modulation (including constellation and/or mapping) may vary as frequently as on a symbol by symbol basis. In addition, the decoding processing may operate to decode an LDPC coded signal having a common code rate and modulation for all of the symbols contained therein. This diagram shows yet another embodiment where one or more of the various aspects of the invention may be found.

[0146]FIG. 15 is a system diagram illustrating an embodiment of a satellite receiver STB (Set Top Box) system that is built according to the invention. The satellite receiver STB system includes an advanced modulation satellite receiver that is implemented in an all digital architecture. Moreover, the advanced modulation satellite receiver may be implemented within a single integrated circuit in some embodiments. The satellite receiver STB system includes a satellite tuner that receives a signal via the L-band. The satellite tuner extracts I,Q (in-phase and quadrature) components from a signal received from the L-band and provides them to the advanced modulation satellite receiver. The advanced modulation satellite receiver includes a decoder.

[0147] As within other embodiments that employ a decoder, the decoder may be implemented to perform decoding of LDPC coded signals. This decoding processing is also operable to decode an LDPC variable code rate and/or modulation signal whose code rate and/or modulation (including constellation and/or mapping) may vary as frequently as on a symbol by symbol basis. In addition, the decoding processing may operate to decode an LDPC coded signal having a common code rate and modulation for all of the symbols contained therein.

[0148] The advanced modulation satellite receiver may be implemented to communicatively couple to an HDTV MPEG-2 (Motion Picture Expert Group) transport de-mux, audio/video decoder and display engine. The advanced modulation satellite receiver and the HDTV MPEG-2 transport de-mux, audio/video decoder and display engine communicatively couple to a host CPU (Central Processing Unit). The HDTV MPEG-2 transport de-mux, audio/video decoder and display engine also communicatively couples to a memory module and a conditional access functional block. The HDTV MPEG-2 transport de-mux, audio/video decoder and display engine provides HD (High Definition) video and audio output that may be provided to an HDTV display.

[0149] The advanced modulation satellite receiver may be implemented as a single-chip digital satellite receiver supporting the decoder that performs decoding of LDPC coded signals according to the invention. The advanced modulation satellite receiver is operable to receive communication provided to it from a transmitter device that includes an encoder as well.

[0150] In the following, several of the following Figures describe particular embodiments that may be used to implement some of the various aspects of the LDPC encoding and/or LDPC decoding according to the invention. Again, this may involve processing LDPC variable code rate and/or modulation signals whose code rate and/or modulation (including constellation and/or mapping) may vary as frequently as on a symbol by symbol basis. Further details of these various aspects of the invention are provided below.

[0151]FIG. 16 is a diagram illustrating an embodiment of an LDPC (Low Density Parity Check) code bipartite graph that may be employed according to the invention. An LDPC code may be viewed as being a code having a binary parity check matrix such that nearly all of the elements of the matrix have values of zero. For example, H=(h_(i,j))_(MxN) may be viewed as being a parity check matrix of an LDPC code with block length N. If every column of the matrix has d_(v) 1's, and every row of the matrix has d_(c) 1's, then this code is referred to as a (d_(v),d_(c)) regular LDPC code. For example, a regular (4,72) LDPC code would be viewed as being a code whose binary parity check matrix would have 4 1's in every column and 72 1's in every row. These regular LDPC codes were introduced in R. Gallager, Low-Density Parity-Check Codes, Cambridge, Mass.: MIT Press, 1963.

[0152] A regular LDPC code can be defined as a bipartite graph by its parity check matrix with left side nodes representing variable of the code bits, and the right side nodes representing check equations. The bipartite graph of the code defined by H may be defined by N variable nodes and M check nodes. Every variable node of the N variable nodes has exactly d_(v) edges connecting this node to one or more of the check nodes (within the check M nodes). This number of d_(v) edges may be referred to as the degree of a variable node. Analogously, every check node of the M check nodes has exactly d_(c) edges connecting this node to one or more of the variable nodes. This number of d_(c) edges may be referred to as the degree of a check node.

[0153] An edge between a variable node v_(i) and check node C_(j) may be defined by e=(i,j). However, on the other hand, given an edge e =(i,j), the nodes of the edge may alternatively be denoted as by e=(v(e),c(e)). Given a variable node v_(i), one may define the set of edges emitting from the node v_(i) by E_(v)(i)={e|v(e)=i}. Given a check node c_(j), one may define the set of edges emitting from the node c_(j) by E_(c)(j)={e|c(e)=j}. Continuing on, the derivative result will be |E_(v)(i)|=d_(v) and |E_(c)(j)|=d_(c).

[0154] An irregular LDPC code may also described using a bipartite graph. However, the degree of each set of nodes within an irregular LDPC code may be chosen according to some distribution. Therefore, for two different variable nodes, v_(i) ₁ and v₁ ₂ , of an irregular LDPC code, |E_(v)(i₁)| may not equal to |E_(v)(i₂)|. This relationship may also hold true for two check nodes. The concept of irregular LDPC codes was originally introduced within M. Lugy, M. Mitzenmacher, A. Shokrollahi, D. Spielman and V. Stemann, “Practical loss-resilient codes,” IEEE Trans. Inform. Theory, Vol. 47, pp. 569-584, Feb. 2001.

[0155] In general, with a graph of an LDPC code, the parameters of an LDPC code can be defined by a degree of distribution, as described within M. Lugy, et al. (referenced above) and also within T. J. Richardson and R. L. Urbanke, “The capacity of low-density parity-check code under message-passing decoding,′″ IEEE Trans. Inform. Theory, Vol. 47, pp. 599-618, Feb. 2001. This distribution may be described as follows:

[0156] Let λ_(i) represent the fraction of edges emanating from variable nodes of degree i and let ρ_(i) represent the fraction of edges emanating from check nodes of degree i. Then, a degree distribution pair (λ,p) is defined as follows: $\begin{matrix} {{\lambda (x)} = {\sum\limits_{i = 2}^{M_{v}}{\lambda_{i}x^{i - 1}}}} & {and} & {{{\rho (x)} = {\sum\limits_{i = 2}^{M_{c}}{\rho_{i}x^{i - 1}}}},} \end{matrix}$

[0157] where M_(v) and M_(c) represent the maximal degrees for variable nodes and check nodes, respectively.

[0158] From certain perspectives, the invention involves combining modulation coding with LDPC coding. In addition, the invention is operable to employ variable signal modulation encoding (e.g., either one or both of variable constellation shape and/or mapping) in doing so. Up to now, there have been some attempts to combine modulation encoding with LDPC coding, yet they are all limited to employing only a single mapping of the symbols generated thereby. Some of the possible approaches to combine modulation coding and LDPC coding are described below.

[0159]FIG. 17A is a diagram illustrating an embodiment of direct combining of LDPC (Low Density Parity Check) coding and modulation encoding. A binary sequence (e.g., a bit stream) is provided to an LDPC (Low Density Parity Check) encoder. The LDPC encoder introduces a degree of redundancy (or parity) within the bit sequence provided thereto. These LDPC coded bits are then provided to a S/P (Serial to Parallel) path such that the output symbols may be provided to a modulation encoder. This S/P path performs the bit to m-bit symbol transformation. The modulation encoder outputs a signal sequence that includes symbols (composed of LDPC coded bits) that correspond to a modulation having a constellation and a mapping.

[0160]FIG. 17B is a diagram illustrating an embodiment of BICM (Bit Interleaved Coded Modulation) that is employed in conjunction with LDPC (Low Density Parity Check) coding and modulation encoding. This embodiment is similar to the embodiment described above that performs direct combining of LDPC coding and modulation encoding, with the exception that an interleaver is interposed between the LDPC encoder and the modulation encoder.

[0161] A binary sequence (e.g., a bit stream) is provided to an LDPC encoder. The LDPC encoder introduces a degree of redundancy (or parity) within the bit sequence provided thereto. These LDPC coded bits are then provided to an interleaver to generate a degree of randomness within the LDPC coded bits thereby (hopefully) making that LDPC coded bit sequence to be more robust to interference, noise, and other deleterious effects. This LDPC coded bit sequence that has been interleaved is then provided to a S/P (Serial to Parallel) path such that the output symbols may be provided to a modulation encoder. Again, this S/P path performs the bit to m-bit symbol transformation. The modulation encoder outputs a signal sequence that includes symbols (composed of the interleaved LDPC coded bits) that correspond to a modulation having a constellation and a mapping.

[0162]FIG. 17C is a diagram illustrating an embodiment of multilevel coded modulation encoding. Rather than require a S/P (Serial to Parallel) path between a single LDPC encoder and a modulation encoder, this embodiment shows a plurality of LDPC encoders operating in parallel such that the outputs of each of the LDPC encoder is already within parallel format (thereby obviating the need for the S/P (Serial to Parallel) path employed within the embodiments described above). The outputs of these LDPC encoders are provided to a modulation encoder. The modulation encoder outputs a signal sequence that includes symbols (composed of the LDPC coded bits provided by the various LDPC encoders) that correspond to a modulation having a constellation and a mapping.

[0163] All 3 of these embodiments, described above that perform the combination of LDPC coding and modulation encoding, typically operate using a single code rate and also use a single modulation (constellation and mapping) to map the binary bits to a given constellation. That is to say, they all typically employ a single code rate and a single modulation (having a single constellation type and a single mapping) for that single constellation. This approach inherently limits the maximal performance that may be achieved using these approaches. In contradistinction, the invention is operable to operate on LDPC coded signals having a code rate and/or a modulation (constellation and mapping) that may vary as frequently as on a symbol by symbol basis. To illustrate further the single modulation approach of these 3 embodiments, a specific implementation that performs such a single mapping is described below.

[0164]FIG. 18A is a diagram illustrating an embodiment of the HNS (Hughes Network System) proposal to the DVB (Digital Video Broadcasting Project) standard. The HNS proposal to the DVB standard is described in more detail within Hughes Network Systems, “Description LDPC and BCH Encoders,” Proposal for DVB-S2.

[0165] The HNS proposal to DVB standard employs a rate ⅔8 PSK (8 Phase Shift Key) modulation with LDPC code that is constructed as follows. The LDPC code used in the proposal is a rate ⅔ code with block length 2n, where the final n bits are redundancy (or parity) bits. Three (3) different LDPC encoders are employed. A first LDPC encoder employs the 2^(nd) n bits of a codeword. A second LDPC encoder employs the last n bits of a codeword, and a third LDPC encoder employs the 1^(st) n bits of a codeword. The LDPC coded bits from these 3 LDPC encoders are provided to a map (that may be viewed as being a modulation encoder). The bits provided thereto are grouped into 8 PSK symbols (including 3 bits each) and mapped according to the 8 PSK modulation shown (having an 8 PSK shaped constellation and a corresponding mapping). The mapping is also shown within the diagram. As some examples, the mapping of the symbol 0 (0=000 in binary) is mapped to the constellation point indicated by 0, and the mapping of the symbol 1 (1=001 in binary) is mapped to the constellation point indicated by 1, the mapping of the symbol 5 (5=101 in binary) is mapped to the constellation point indicated by 2, and the mapping of the symbol 4 (4=100 in binary) is mapped to the constellation point indicated by 3.

[0166] The mapping is shown as:

Map(000)=0; Map(001)=1; Map(101)=2; Map(100)=3; Map(110)=4; Map(111)=5; Map(011)=6; Map(010)=7.  (EQ 1)

[0167] When iteratively decoding LDPC codes, the HNS proposal to the DVB standard works well for binary input sequences generated using a PN (Pseudo-Noise) sequence. However, if an input sequence is not a PN sequence, the decoding may not converge with the same SNR (Signal to Noise Ratio) and the same number of iterations used for the PN sequence. In addition, some of the deficiencies of this approach may be even clearer when considering the following two different LDPC codes.

[0168] One of the LDPC codes is denoted by C₁, and it has a degree of distribution as follows:

λ₂=0.2, λ₃=0.54, λ₄=λ₅=. . .=λ₁₂=0, λ₁₃=0.26, and ρ₁₀=1.

[0169] The other LDPC code is denoted by C₂, and it has a degree of distribution as follows:

λ₂=0.2, λ₃=0.5, λ₄=λ₅=. . .=λ₈=0, λ₉=0.3, and ρ₁₀=1.

[0170] Using the theory of density evolution introduced by T. J. Richardson and R. L. Urbanke (also referenced above), it can show that C₂has better performance than C₁. In fact, the inventors have found that a binary LDPC code C₂ with a block length of 43200 out performs the binary LDPC code C₁ with the block length of 64800 presented in the HNS proposal to the DVB standard, where the number of iteration is the same.

[0171] However, the inventors have also found that when these two codes are combined directly to modulation encoding and also using the mapping that is shown in the diagram for the HNS proposal to the DVB standard, then the code modulation with LDPC code C₁ is better than the LDPC code C₂.

[0172]FIG. 18B is a diagram illustrating an embodiment of LDPC (Low Density Parity Check) coded modulation signal encoding that may be performed according to the invention. This diagram shows a very generalized embodiment of the invention in which combined LDPC coding and modulation encoding may be combined to generate a signal sequence. In addition, this embodiment shows how an LDPC variable code rate and/or modulation signal may be generated.

[0173] An LDPC encoder receives a binary sequence. The LDPC encoder is operable to encode various symbols such that they may be encoded according to different code rates; different encoded symbols generated by the LDPC encoder may have different numbers of information bits and/or redundancy (or parity) bits. As an example, a first symbol may be encoded according to a code rate of ⅔ (e.g., 2 information bits generating a 3 bit encoded symbol), and a first symbol may be encoded according to a code rate of ¾ (e.g., 2 information bits generating a 4 bit encoded symbol).

[0174] These LDPC encoded symbols output from the LDPC encoder are then passed to a modulation encoder that maps these LDPC encoded symbols to an appropriate modulation (constellation and mapping). The modulation encoder is operable to perform variable modulation encoding such that they may be modulation encoded according to different modulations (e.g., different constellation shapes and/or mappings); different modulation encoded symbols mapped by the modulation encoder may be mapped to different constellation and/or to the different mappings within 1 or more constellations.

[0175] These LDPC encoded signals that have now been modulation encoded are output from the modulation encoder as a signal sequence that includes a number of symbols generated from combined LDPC encoding and modulation encoding. As an example of the variability of the code rate and/or modulation of these symbols, a first symbol may have a code rate 1 and a modulation 1, and a second symbol may have a code rate 2 and a modulation 2. Alternatively, a first symbol may be mapped according to a map 1, and a second symbol may be mapped according to a map 2. Clearly, a wide variety of signal types may be generated such that any 1 or more of the code rate, constellation type, or mapping of the various symbols of the signal sequence may vary as frequently as on a symbol by symbol basis.

[0176] It is also noted, however, that this embodiment is still operable to generate a signal sequence such that each of the symbols have a common code rate and a common modulation (e.g., are mapped to a common constellation having a singular mapping). However, it is shown and described below that employing a variable modulation signal within a communication system can provide for improved performance. In addition, employing a variable code rate signal within a communication system can also provide for improved performance.

[0177] Some of the various aspects of the invention of variable modulation within combined LDPC coding and modulation coding systems may be better understood by considering using an irregular LDPC code. Every variable node of such an irregular LDPC code may have a different degree. Stated another way, every variable node may have a different number of edges emanating from it. All the edges emanating from the variable node are connected to check nodes. By the nature of the BP (Belief Propagation) decoding approach, the variable node gets all of the information from its connected check nodes. Therefore, the variable node with higher degree is more protected.

[0178] To combine a binary block code (one type being an LDPC code) with modulation coding, a S/P (Serial to Parallel) path or map may be used. In this way, one modulation symbol of the generated signal may contain more than one bit. As some examples, a QPSK (Quadrature Phase Shift Key) signal uses 2 bits per symbol, a 8 PSK (8 Phase Shift Key) signal uses 3 bits per symbol, a 16 QAM (16 Quadrature Amplitude Modulation) signal uses 4 bits per symbol, and so on for even other types of modulations. Clearly, even higher order modulations may also be employed without departing from the scope and spirit of the invention.

[0179] In general, a signal may contain a plurality of bits, that may be represented as (b₁₋₁, . . . , b₁,b₀). These I bits may have distinct degrees in an LDPC code. On the other hand, different maps may be implemented to handle the different bits in different manners. Employing different mappings for various symbols of a signal sequence is an example of a variable modulation signal where the constellation shape is held the same for all of the symbols of the signal sequence, yet the mapping of the various symbols is variable as frequently as on a symbol by symbol basis.

[0180] As an example, Gray maps of an 8 PSK signal constellation may be considered. In the following, only 12 different Gray maps are studied. However, the other Gray maps are equivalent to these illustrated maps when undergoing some rotation around the origin of the I,Q axes.

[0181]FIG. 19A, FIG. 19B, FIG. 20A, FIG. 20B, FIG. 21A, and FIG. 21B are diagrams illustrating various embodiments of mappings that may be employed according to the invention. These diagrams all show the 12 different Gray maps that are studied. The mapping of the symbols to the corresponding constellation points within the 8 PSK shaped constellations is shown next to the corresponding constellation point.

[0182] Some examples are provided with respect to this diagram, and analogous mapping is performed according to the designations provided in the other diagrams indicated above.

[0183] 1. mapping symbol 0(0=000 in binary) to the constellation point 0,

[0184] 2. mapping symbol 1(0=001 in binary) to the constellation point 1,

[0185] 3. mapping symbol 3(3=011 in binary) to the constellation point 2,

[0186] 4. mapping symbol 2(2=010 in binary) to the constellation point 3,

[0187] 5. mapping symbol 6(6=110 in binary) to the constellation point 4,

[0188] 6. mapping symbol 7(7=111 in binary) to the constellation point 5,

[0189] 7. mapping symbol 5(5=101 in binary) to the constellation point 6, and

[0190] 8. mapping symbol 4(4=100 in binary) to the constellation point 7.

[0191] Again, the mappings according to the FIG. 19A, FIG. 19B, FIG. 20A, FIG. 20B, FIG. 21A, and FIG. 21B may be viewed as undergoing analogous mapping (with appropriate mapping indicated).

[0192] The operation of such coding may be described when considering a map, indicated as Map_(i), and the two symbols (α₂,α₁,α₀) and (b₂,b₁,b₀). If α₂=b₂ and α₁=b₁, but α₀≠b₀, and also if Map_(i)(α₂,α₁,α₀) and Map₁(b₂,b₁,b₀) are two consecutive numbers, then the map may be characterized as having 1 weak point at the LSB (Least Significant Bit). Similarly, a weak point at the MSB (Most Significant Bit) and a weak point at the ISB (Inside Significant Bit) may be defined. For example, a weak point at the MSB may be defined as follows: if α₂≠b₂ and α₁=b₁, but α₀=b₀, and also if Map_(i) _((α) ₂,α₁,α₀) and Map_(i)(b₂, b₁,b₀) are two consecutive numbers. Also, a weak point at the ISB may be defined as follows: if α₂=b₂ and α₁≠b₁, but α₀=b₀, and also if Map_(i)(α₂,α₁,α₀) and Map_(i)(b₂,b₁,b₀) are two consecutive numbers.

[0193] Within these definitions, a table of the weak points for each of the MSB, ISB, and LSB of the 12 different Gray maps may be generated as shown in the following diagram.

[0194]FIG. 21C is a diagram illustrating a table indicating the relationship between the variable map number and the number of weak points for the MSB (Most Significant Bit), ISB (Inside Significant Bit), and LSB (Least Significant Bit), respectively, according to one embodiment of the invention. The variable map number is referenced with respect to the FIG. 19A, FIG. 19B, FIG. 20A, FIG. 20B, FIG. 21A, and FIG. 21B described above.

[0195] The variable modulation characteristics of the invention may also be applied and further explored when considering the LDPC coded modulation used in the HNS proposal to the DVB standard. That particular LDPC code has 64800 variable nodes with 4320 degree 13 nodes broken down as follows: 38880 degree 3 nodes, 21599 degree 2 nodes, and 1 degree 1 node. The S/P (Serial to Parallel) map of the HNS proposal to the DVB standard is similar to the Map₄ that is described above (within the upper left hand corner of FIG. 18A). From the table indicating the relationship between the variable map number and the number of weak points for the MSB, ISB, and LSB, it can be seen that the signal map is always weaker at the LSB for this particular map.

[0196] In fact, this particular map will still provide a relatively high degree of performance to the first 4320 symbols since the LSB of these symbols are degree 13 nodes, which are therefore strongly protected by the corresponding check nodes. However, the remaining 17280 symbols (which include a full 80% of all of the symbols) have both MSB and LSB of only degree 3.

[0197] Obviously, the LSB bit is much less protected. Therefore, when the information data is a PN (Pseudo-Noise) sequence, which has 1s and 0s evenly distributed in the block, the code behaves sufficiently well. Otherwise, it behaves much worse. In an effort to overcome this weakness, one aspect of the invention involves employing the novel solution of using more than one signal map. This may be viewed as a variable modulation type coding where the constellation is fixed, and the mapping is varied for the symbols of the signal sequence.

[0198]FIG. 22 is a diagram illustrating an embodiment of a variable signal mapping LDPC (Low Density Parity Check) coded modulation system that is built according to the invention. This embodiment shows how 2 separate mappings are employed to map the various symbols that are to be symbol mapped. This embodiment generates an LDPC variable modulation signal whose mapping may vary as frequently as on a symbol by symbol basis; the constellation shape of this embodiment stays fixed, but the mapping varies for different symbols. By using the mapping described above with respect to the LDPC code of the HNS proposal to the DVB standard, a new coded modulation may be found in accordance with the invention that performs well for both PN and non-PN sequences. Moreover, the performance of the new system is also improved.

[0199] An LDPC encoder encodes a binary sequence to generate LDPC codewords such that each codeword includes a plurality of LDPC coded bits. In some embodiments, this LDPC encoding may be performed using variable code rate encoding in accordance with the invention. Subsequently, an S/P (Serial to Parallel) mapping operates on the LDPC codeword. The individual bits of the LDPC codeword are appropriately grouped and mapped into 3 separate paths that cooperatively form 3 bit symbols. More specifically in this embodiment, the ₂nd n bits of the codeword are passed through one path, the last n bits of the codeword are passed through another path, and the 1^(st) n bits of the codeword are passed through yet another path. Bits selected from these 3 paths are combined together to form 3 bit symbols that subsequently undergo modulation encoding.

[0200] This embodiment differs from any of the other embodiments described above that perform combined LDPC encoding and modulation encoding in the fact that the LDPC coded bits are modulation encoded according to 2 separate modulations. These 2 modulations both employ a commonly shaped constellation, yet each of the modulations has a different mapping. Referring to this diagram, the output encoded bits from the various encoders that form the bits of the symbol to be modulation encoded are appropriately provided to 1 of the 2 separate maps shown; these 2 maps may functionally be viewed as being 2 separate modulation encoders. The encoded bits may alternatively be provided to the map 1 and the map 2 to perform the modulation encoding. This providing of the LDPC coded bits to the appropriate modulation encoders may be viewed as being performed according to a predetermined cycle.

[0201] More specifically in this embodiment, the predetermined cycle is performed as follows: the first 4320 symbols and the odd symbols generated thereafter are provided to a map 0, and the even symbols after the first 4320 symbols are provided to a map 1. The use of these 2 separate mappings (e.g., thereby generating a variable mapped signal) for the symbols generated using the LDPC coding provides for a significant improvement in performance vs. employing only a single mapping.

[0202]FIG. 23 is a diagram illustrating another embodiment of a variable signal mapping LDPC (Low Density Parity Check) coded modulation system (shown as using code C_(—)2) that is built according to the invention. This embodiment is somewhat similar to the 2 separate mapping embodiment described above, except that 3 separate mappings are employed. Again, this embodiment is operable to generate an LDPC variable modulation signal. The varying modulation includes employing a commonly shaped constellation having 3 separate mappings. The modulation (more specifically the mapping) of the signal sequence generated by this embodiment may again vary as frequently as on a symbol by symbol basis.

[0203] As with the embodiment described above, an LDPC encoder encodes a binary sequence to generate LDPC codewords such that each codeword includes a plurality of LDPC coded bits. Again, in some embodiments, this LDPC encoding may be performed using variable code rate encoding in accordance with the invention. Subsequently, an S/P (Serial to Parallel) mapping operates on the LDPC codeword. The individual bits of the LDPC codeword are appropriately grouped and mapped into 3 separate paths that cooperatively form 3 bit symbols. More specifically in this embodiment, the 2^(nd) n bits of the codeword are passed through one path, the last n bits of the codeword are passed through another path, and the 1^(st) n bits of the codeword are passed through yet another path. Bits selected from these 3 paths are combined together to form 3 bit symbols that subsequently undergo modulation encoding.

[0204] This embodiment differs from any of the other embodiments described above that perform combined LDPC encoding and modulation encoding in the fact that the LDPC coded bits are modulation encoded according to 3 separate modulations. These 3 modulations both employ a commonly shaped constellation, yet each of the modulations has a different mapping. Referring to this diagram, the output encoded bits from the various encoders that form the bits of the symbol to be modulation encoded are appropriately provided to 1 of the 3 separate maps shown; these 3 maps may functionally be viewed as being 3 separate modulation encoders. Again, this providing of the LDPC coded bits to the appropriate modulation encoders may be viewed as being performed according to a predetermined cycle.

[0205] More specifically in this embodiment, the predetermined cycle is performed as follows: the first 2880 symbols and the odd symbols generated thereafter are provided to a map 1, the even symbols after the first 2880 symbols are provided to a map 3, and the odd symbols after the first 2880 symbols are provided to a map 10. The use of these 3 separate mappings (e.g., thereby generating a variable mapped signal) for the symbols generated using the LDPC coding provides for a significant improvement in performance vs. employing only a single mapping.

[0206]FIG. 24 is a diagram illustrating an embodiment of performance comparison of LDPC (Low Density Parity Check) coded modulation systems that employ a single map vs. multiple maps (shown as 1 map vs. 3 maps) respectively according to the invention. This diagram shows the performance improvement achieved when employing an LDPC variable modulation signal. This LDPC variable modulation signal is a signal whose mapping varies as frequently as on a symbol by symbol basis. The symbols are modulation encoding according to 3 separate modulations that each have a commonly shaped constellation yet have 3 separate mappings. The LDPC code C₂ is employed within this illustrative example. The mapping Map₀ is employed as it provides the best performance from among the available mappings.

[0207] The performance curve described with this diagram is in the context of BER (Bit Error Rate) versus E_(b)/N₀ (ratio of energy per bit Eb to the Spectral Noise Density N₀). This term E_(b)/N₀ is the measure of SNR (Signal to Noise Ratio) for a digital communication system. When looking at these performance curves, the BER may be determined for any given E_(b)/N₀ (or SNR).

[0208] Within this particular performance curve diagram, for example, when operating at an E_(b)/N₀ of approximately 3.425 dB (decibels), the BER of LDPC coded modulation with a single mapping is approximately 6×10⁻³. However, when operating at an E_(b)/N₀ of approximately 3.425 dB, the BER of LDPC coded modulation with a 2 separate mappings is approximately 1×10⁻⁴. This is a very significant reduction in BER when operating at a comparable SNR. Moreover, by using the 3 maps described in the embodiment above (where n=14400), and when operating at virtually any BER, there is a gain of at least 0.04 dB gain in terms of E_(b)/N₀.

[0209] While several of the various embodiments of the invention have been shown to include 8 PSK types mapping within the multiple mapping embodiments, it is noted that any type of modulation encoding may be employed without departing from the scope and spirit of the invention. For example, 2 or 3 (or generically, n) mappings of 16 QAM may alternatively be implemented. There may be some embodiments where a mixture of mappings is employed. For example, one of the mappings may perform 16 QAM mapping whereas another of the mappings may perform 16 APSK (16 Asymmetric Phase Shift Keying) mapping within a single device. Such an embodiment would generate an LDPC variable modulation signal whose constellation shape as well as mapping may vary as frequently as on a symbol by symbol basis.

[0210] In even other alternative embodiment, other combinations may be performed including an 8 PSK mapping performed in one mapping, and QPSK mapping performed in another mapping. Clearly, a wide variety of combinations of modulations (e.g., combinations of constellation types and alternatives of mappings for those constellations) may be implemented without departing from the scope and spirit of the invention.

[0211] In general, for any signal constellation, one can select many possible maps according to the weakness table and the block code employed to construct a variable signal mapping block coded modulation in accordance with the invention. This diagram illustrates a possible implementation for a m-bit constellation modulation. Moreover, it is also noted that the code can be any one of a variety of block codes.

[0212]FIG. 25 is a diagram illustrating another embodiment of a variable signal mapping LDPC (Low Density Parity Check) coded modulation system that is built in accordance with invention. This diagram shows a very generalized embodiment in which combined LDPC encoding and modulation encoding may be combined in which LDPC coded bits are grouped together and provided to an appropriate modulation encoder to generate an LDPC variable modulation signal.

[0213] In a very general illustration, S/P (Serial to Parallel) mapping is performed on an LDPC codeword. The individual bits of the LDPC codeword are appropriately grouped and mapped into a plurality of separate paths that cooperatively form symbols that may each have different number of bits. More specifically in this embodiment, a part 1 of the codeword is passed through a one path, a part 2 of the codeword is passed through another path, . . . , and a part m of the codeword is passed through yet another path. Bits selected from these various paths are combined together to form symbols that subsequently undergo modulation encoding.

[0214] Those symbols that satisfy a condition 1 are provided to a map I1. Similarly, those symbols that satisfy a condition 2 are provided to a map I2, and those symbols that satisfy a condition N are provided to a map IN. The various conditions employed to govern the direction of which mapping to which the symbols are provided may be selected by a designer implementing the invention. In addition, it is noted that the number of bits within the various symbols may be different. For example, the number of the symbols being provided to the map I1 is x; the number of the symbols being provided to the map I2 is y; and number of the symbols being provided to the map IN is z. This shows how different types of modulations may also be supported such that the various modulations operate on differently sized symbols.

[0215] As an example of how this may be implemented, symbols having x=3 bits may be provided to the map I1 for modulation encoding according to an 8 PSK shaped constellation having a particular mapping. Similarly, symbols having y=2 bits may be provided to the map I2 for modulation encoding according to a QPSK shaped constellation having a particular mapping. Also, symbols having z=4 bits may be provided to the map IN for modulation encoding according to a 16 QAM shaped constellation having a particular mapping.

[0216] Many particular aspects of the possible ways to perform encoding of LDPC signals have been described above. Some of these embodiments include combining LDPC encoding and modulation encoding. In addition, several of these embodiments described how to generate LDPC variable code rate signals using an LDPC encoder that supports variable code rate encoding. Alternatively, 2 or more different LDPC encoders could be implemented in parallel, and the encoded output bits could be selected appropriately from the 2 or more LDPC encoders to generate an LDPC variable code rate signal sequence having symbols whose code rate could vary as frequently as on a symbol by symbol basis.

[0217]FIG. 26 is a diagram illustrating an embodiment of LDPC (Low Density Parity Check) coded modulation decoding functionality using bit metric according to the invention. To perform decoding of an LDPC coded modulation signal having an m-bit signal sequence, the functionality of this diagram may be employed. After receiving the I,Q (In-phase, Quadrature) values of a signal at the symbol nodes, an m-bit symbol metric computer functional block calculates the corresponding symbol metrics. At the symbol nodes, these symbol metrics are then passed to a symbol node calculator functional block that uses these received symbol metrics to calculate the bit metrics corresponding to those symbols. These bit metrics are then passed to the bit nodes connected to the symbol nodes.

[0218] Thereafter, at the bit nodes, a bit node calculator functional block operates to compute the corresponding soft messages of the bits. Then, in accordance with iterative decoding processing, the bit node calculator functional block receives the edge messages from a check node operator functional block and updates the edge messages with the bit metrics received from the symbol node calculator functional block. These edge messages, after being updated, are then passed to the check node operator functional block.

[0219] At the check nodes, the check node operator functional block then receives these edge messages sent from the bit nodes (from the bit node calculator functional block) and updates them accordingly. These updated edge messages are then passed back to the bit nodes (e.g., to the bit node calculator functional block) where the soft information of the bits is calculated using the bit metrics and the current iteration values of the edge messages. Thereafter, using this just calculated soft information of the bits (shown as the soft message), the bit node calculator functional block updates the edge messages using the previous values of the edge messages (from the just previous iteration) and the just calculated soft message. The iterative processing continues between the bit nodes and the check nodes according to the LDPC code bipartite graph that was employed to encode the signal that is being decoded.

[0220] These iterative decoding processing steps, performed by the bit node calculator functional block and the check node operator functional block, are repeated a predetermined number of iterations (e.g., repeated n times, where n is selectable). Alternatively, these iterative decoding processing steps are repeated until the syndromes of the LDPC code are all equal to zero (within a certain degree of precision).

[0221] Soft output information is generated within the bit node calculator functional block during each of the decoding iterations. In this embodiment, this soft output may be provided to a hard limiter where hard decisions may be made, and that hard information may be provided to a syndrome calculator to determined whether the syndromes of the LDPC code are all equal to zero (within a certain degree of precision). When thy are not, the iterative decoding processing continues again by appropriately updating and passing the edge messages between the bit node calculator functional block and the check node operator functional block.

[0222] After all of these iterative decoding processing steps have been performed, then the best estimates of the bits are output based on the bit soft information. In the approach of this embodiment, the bit metric values that are calculated by the symbol node calculator functional block are fixed values and used repeatedly in updating the bit node values.

[0223]FIG. 27 is a diagram illustrating an alternative embodiment of LDPC coded modulation decoding functionality using bit metric according to the invention (when performing n number of iterations). This embodiment shows how the iterative decoding processing may be performed when a predetermined number of decoding iterations, shown as n, is performed. If the number of decoding iterations is known beforehand, as in a predetermined number of decoding iterations embodiment, then the bit node calculator functional block may perform the updating of its corresponding edge messages using the bit metrics themselves (and not the soft information of the bits as shown in the previous embodiment and described above). This processing may be performed in all but the last decoding iteration (e.g., for iterations 1 through n−1). However, during the last iteration, the bit node calculator functional block calculated the soft information of the bits (shown as soft output). The soft output is then provided to a hard limiter where hard decisions may be made of the bits. The syndromes need not be calculated in this embodiment since only a predetermined number of decoding iterations are being performed.

[0224]FIG. 28 is a diagram illustrating bit decoding using bit metric (shown with respect to an LDPC (Low Density Parity Check) code bipartite graph) according to the invention. Generally speaking, after receiving I, Q values of a signal at a symbol nodes, the m-bit symbol metrics are computed. Then, at the symbol nodes, the symbol metric is used to calculate the bit metric. The bit metric is then passed to the bit nodes connected to the symbol nodes. At the bit nodes, the soft messages of the bits are computed, and they are used to update the edge message sent from the check nodes with the bit metric. These edge messages are then passed to the check nodes. At the check nodes, updating of the edge messages sent from the bit nodes is performed, and these values are pass back the bit nodes.

[0225] As also described above with respect to the corresponding functionality embodiment, after all of these iterative decoding processing steps have been performed, then the best estimates of the bits are output based on the bit soft information. In the approach of this embodiment, the bit metric values that are calculated by the symbol node calculator functional block are fixed values and used repeatedly in updating the bit node values.

[0226] As with the performance embodiment described above, the performance curve described below with respect to this diagram is in the context of BER (Bit Error Rate) versus E_(b)/N₀ (ratio of energy per bit E_(b) to the Spectral Noise Density N₀). This term E_(b)/N₀. is the measure of SNR (Signal to Noise Ratio) for a digital communication system. When looking at these performance curves, the BER may be determined for any given E_(b)/N₀ (or SNR).

[0227]FIG. 29 is a diagram illustrating an embodiment of performance of LDPC coded modulation decoding of different symbol size (1. block with 21600 symbols, 3 bits per symbol and 2. block with 14400 symbols, 3 bits per symbol) according to the invention. Again, this embodiment is shown for LDPC coded modulation signals that have been LDPC encoded to have a code rate of ⅔ and have been modulation encoded using 8 PSK (8 Phase Shift Key) modulation.

[0228] This performance diagram shows the various codes C_(—)1 (shown as 1. block with 21600 symbols, 3 bits per symbol) and C_(—)2 (shown as 2. block with 14400 symbols, 3 bits per symbol). As a reminder, a parity check matrix of an LDPC code given as H=(h_(i,j))_(MxN) has d_(v) 1's in every column of the matrix and d_(c) 1's in every row of the matrix.

[0229] The C_(—)1 code corresponds to a signal having symbol size of 21600 and a max d_(v)=13 with 86400 edges. The C_(—)2 code corresponds to a signal having symbol size of 14400 and a max d_(v)=9 with 57600 edges.

[0230] This performance comparison shows empirically that the coded modulation with C_(—)1 does in fact perform better than the code modulation with C_(—)2, as described briefly above. The use of combining LDPC coding with modulation coding to generate LDPC variable modulation signals clearly provides for a significant improvement in performance within a communication system. In addition, when performing metric updating in accordance with the invention, an even greater improvement in performance may be achieved.

[0231]FIG. 30 is a diagram illustrating an embodiment of an LDPC encoder using puncturing and rate control sequencer to support multiple LDPC encoders according to the invention. Here, a single LDPC encoder is implemented to perform the functionality of multiple LDPC encoders. A single hardware implementation may be used to support the functionality of each of a number of encoders. In this particular embodiment, the LDPC encoder as being a rate a/b non-systematic encoder that that encodes “a” input bits (shown as i₀, i₁, . . . , and i_((a−1))) to provide “b” output bits (shown as c_((b−1)), c_((b−2)), . . . , and c₀). In addition, one or more uncoded bits may also be used. Each of the RCs (Rate Controls), that when arranged in a period comprise a rate control sequence, is provided to the LDPC encoder by a rate control sequencer. Based on the particular RC that is provided by the rate control sequencer to the LDPC encoder, the LDPC encoder may select none, some, or all of the “a” input bits and generate none, some, or all of the “b” output bits as well as selecting none, some, or all of a number of available uncoded bits. Puncturing is performed on the output bits of the LDPC encoder (based on the particular RC) to generate the various options of LDPC encoded symbols that include LDPC encoded bits and/or uncoded bits.

[0232] To show the generic applicability of the variable code rate functionality of the invention, the rate a/b LDPC encoder cycles through a number of RCs (that constitute a rate control sequence—shown as RC A1, RC A2, . . . , and RC Az). Each of the RCs has a particular bandwidth efficiency. Cooperatively, the bandwidth efficiencies of the individual RCs (RC A1, RC A2, . . . , and RC Az) that define the rate control sequence provide an average bandwidth efficiency across the entire rate control sequence. These RCs are shown generically to illustrate the wide applicability of the variable code rate functionality of the invention.

[0233] The rate control sequencer may cycle through a predetermined rate control sequence; alternatively, it may adaptively select one or more new rate control sequences based on operating conditions such as a communication channel's SNR (Signal to Noise Ratio), the bandwidth requirements based on various user applications required by the LDPC encoder, or according to some other consideration as well.

[0234] The rate control sequence as illustrated within the example embodiment shown in this diagram may be described as follows:

[0235] Within the LDPC encoder as implemented according to RC A1, two information bits (i₀ and i₁) and one uncoded bit u are input to the LDPC encoder. The output of the LDPC encoder punctures all of the coded bits except for c₂ and c₁, and the uncoded bit u; these remaining bits are then used to generate a 3 bit symbol that will be mapped according to a 3 bit symbol modulation (constellation and mapping) as defined by RC A1.

[0236] Within the LDPC encoder as implemented according to RC A2, one information bits (i₁) is input to the encoder. The output of the LDPC encoder punctures all of the coded bits except for C₄, c₃, . . . c₀; these remaining bits are then used to generate a 5 bit symbol that will be mapped according to a 5 bit symbol modulation (constellation and mapping) as defined by RC A2.

[0237] Within the LDPC encoder as implemented according to RC Az, four information bits (i₀, i₁, i₂, i₃) and one uncoded bit u are input to the LDPC encoder. The output of the LDPC encoder punctures all of the coded bits except for c₃, c₂, C₁, C₀, and the uncoded bit u; these remaining bits and the uncoded bit are then used to generate a 5 bit symbol that will be mapped according to a 5 bit symbol modulation (constellation and mapping) as defined by RC Az. While the RC A2 and RC Az both employ 5 bit symbols, they may nevertheless employ different modulations (different constellations and/or different mappings) without departing from the scope and spirit of the invention.

[0238] The rate a/b LDPC encoder may then cycle through the rate control sequence defined by the (RC A1, RC A2, . . . , and RC Az) a predetermined number of times within a data frame. Alternatively, the rate a/b LDPC encoder may adaptively select a new rate control sequence based on operating conditions of the communication system in which the rate a/b LDPC encoder is implemented. Each of the individual RCs may be viewed as being functionality supported by distinct LDPC encoders (even though a single hardware implementation may support them all).

[0239]FIG. 31 is a diagram illustrating an embodiment of periodic sequencing of an LDPC encoder using puncturing and rate control sequencer according to the invention. In this example to show the periodic sequencing, a rate {fraction (4/6)} LDPC encoder is employed. The rate control sequence in this embodiment includes the RCs (RC A1, RC A2, RC A2, RC A1, and RC Az) having a period of 5 RCs.

[0240] The available input of this exemplary rate {fraction (4/6)} LDPC encoder is (i₀, i₁, i₂, i₃) and the uncoded bit, and the available output is (c₅, c₄, C₃, c₂, c₁, c₀) as well as the uncoded bit. Puncturing is performed to select a predetermined sub-set of all of the available input and output bits of the rate {fraction (4/6)} LDPC encoder. The input cycles through the period of 5 RCs described above. The inputs bits cycle through the following sequence according to this particular period:

[0241] RC A1: ui₀i₁

[0242] RC A2: 0i₁

[0243] RC A2: 0i₁

[0244] RC A1: ui₀i₁

[0245] RC Az: ui₀i₁i₂i₃

[0246] The output bits of this period of RCs is as follows:

[0247] RC A1: uc₂c₁

[0248] RC A2: c₄c₃c₂c₁c₀

[0249] RC A2: c₄c₃c₂c₁c₀

[0250] RC A1: uc₂c₁

[0251] RC Az: uc₃c₂c₁c₀

[0252] Clearly, additional rate control sequences that include different RCs (including different periods of RCs) may also be employed to perform and support the functionality described herein. The generic embodiment of FIG. 28 shows how different constellations (2 bit symbols, 3 bit symbols, and 5 bit symbols in this example) may be used within a single rate control sequence. Each of these constellation shapes may also have multiple associated mappings as well; for example, a 3 bit constellation (such as an 8 PSK (8 Phase Shift Key) shaped constellation) may be mapped according to one or more mapping based on different RCs. Clearly, other modulations may also be employed as well without departing from the scope and spirit of the invention. This means that various modulations, each having different numbers of total constellation points and/or different mappings for those constellation points, may be used in a single rate control sequence.

[0253] In another embodiment of the invention, the encoder of this diagram is implemented such that the remaining bits, output from the encoder, may be grouped to support multiple modulations. For example, for one of the groups of output bits for one of the RCs, the remaining output bits c₄c₃ are used for one modulation (such as a QPSK (Quadrature Phase Shift Key) or APSK (Asymmetric Phase Shift Keying) type constellation and mapping that employs 2 bits), and the other bits are c₂c₁c₀ are used for another modulation (such as an 8 PSK type constellation and mapping that employs 3 bits). Other variations may also be employed as well, such as those that operate using 6 available encoded bits. In such a possible embodiment, 4 of the bits may be used for one modulation (such as a 16 QAM (16 Quadrature Amplitude Modulation) or 16 APSK (16 Asymmetric Phase Shift Keying) type constellation and mapping that employs 4 bits), and the other 2 bits may be used for another modulation (such as a QPSK or APSK type constellation and mapping that employs 2 bits).

[0254]FIG. 32 is a diagram illustrating an embodiment of output bits being grouped/arranged before being mapped according to the invention. This embodiment shows how the output bits, after being punctured, may be grouped/arranged based on the corresponding RC associated with those bits.

[0255] For example, the order of the output bits from the LDPC encoder, after being punctured, may be re-arranged to generate the symbol that is to be mapped. Some examples of how this may be performed are described to show this aspect of the invention.

[0256] For clarity, the output bits generated within the embodiment described with respect to this diagram are used here (e.g., the rate control sequence having the RCs (RC A1, RC A2, RC A2, RC A1, and RC Az) having a period of 5 RCs).

[0257] The raw output bits of this period of RCs is as follows:

[0258] RC Al: uc₂c₁

[0259] RC A2: c₄c₃c₂c₁c₀

[0260] RC A2: c₄c₃c₂c₁c₀

[0261] RC A1: uc₂c₁

[0262] RC Az: uc₃c₂c₁c₀

[0263] However, if desired in certain embodiments, these raw output bits, after being punctured, these output bits may or may not be re-arranged/re-ordered.

[0264] For example, the first group of output bits from the LDPC encoder that is according to RC A1 is uc₂c₁. According to the embodiment shown in this diagram, the ultimate 3 bits may then be re-arranged to form the 3 bit symbol, c₁c₂u. This is an example of a group of output bits, after puncturing, that are in fact re-arranged to form the symbol that is to be mapped according to the modulation (constellation and mapping) that corresponds to RC A1.

[0265] As another example, the second group of output bits from the LDPC encoder that is according to RC A2 is c₄c₃c₂c₁c₀. According to the embodiment shown in this diagram, the ultimate 5 bits are not re-arranged thereby leaving the originally ordered 5 bit symbol, c₄c₃c₂c₁c₀. This is an example of a group of output bits, after puncturing, that are not re-arranged to form the symbol that is to be mapped according to the modulation (constellation and mapping) that corresponds to RC A2.

[0266] As yet another example, the third group of output bits from the LDPC encoder that is according to RC A2 is also c₄c₃c₂c₁c₀. However, according to the embodiment shown in this diagram, the ultimate 5 bits are sub-divided into 2 separate subsets that include a 3 bit symbol, C₂c₁c₀, and a 2 bit symbol, c₄c₃. For each of these now-generated symbols (e.g., the 3 bit symbol, c₂c₁c₀, and the 2 bit symbol, c₄c₃, respectively), may be handled differently. For example, the ultimate 3 bits that form the 3 bit symbol, c₂c₁c₀, may then be re-arranged to form the 3 bit symbol, c₁c₂c₀. However, the ultimate 2 bits that form the 2 bit symbol, C₄C₃, are not re-arranged thereby leaving the originally ordered 2 bit symbol, C₄C₃. This is an example of a 2 separate groups of output bits (generating during a single encoding cycle), after puncturing, where the bits of one group is in fact re-arranged, and the bits of another group are not re-arranged to form the symbols that are to be mapped according to the modulation (constellation and mapping) that corresponds to RC A2 at this point in the rate control sequence.

[0267]FIG. 33 is a diagram illustrating a generic embodiment of variable puncturing, constellations, and mappings, using a single LDPC encoder according to the invention. This diagram particularly shows how LDPC encoder output bits are punctured, and how the remaining bits are associated with one or more particular constellations and how each of those constellations may have a unique mapping. The control of the puncturing, the constellation, and the mapping may all be governed by the individual RCs provided by the rate control sequencer. Again, the rate control sequencer may cycle through a predetermined rate control sequence; it may adaptively select one or more new rate control sequence based on operating conditions such as a communication channel's SNR, bandwidth requirements based on various user applications, or according to some other consideration as well.

[0268] The available LDPC encoder output bits are provided to a functional block that may employ one or more of a number of multiple puncturing options. These puncturing options are shown generically as puncturing #1, puncturing #2, . . . , and puncturing #w. Each of these puncturing options is associated with one or more constellations (shown as constellation #1, constellation #2, . . . , and constellation #x). For example, the output bits remaining after having performed the puncturing #1 are then associated with the constellation #1. The output bits remaining after having performed the puncturing #2 may then be associated with either the constellation #1 or the constellation #x. The output bits remaining after having performed the puncturing #w are then associated with the constellation #2.

[0269] Each constellation is also associated with one or more mappings as governed by a particular RC, shown as mapping #1, mapping #2, . . . mapping #y. As an example, the constellation #1 is associated with more than one mapping, namely, mapping #1 according to a first RC, mapping #2 according to a second RC, and mapping #y according to a third RC. The other constellations may also be associated with various mappings as well. The LDPC coded modulation encoding process includes performing encoding, puncturing, selection of a modulation (constellation and mapping).

[0270] Various embodiments have been described herein. A novel encoding approach has been shown that includes combining LDPC encoding and modulation encoding that is operable to generate LDPC variable code rate and/or modulation signals.

[0271] It is also noted that the methods described within the preceding figures may also be performed within any of the appropriate system and/or apparatus designs (communication systems, communication transmitters, communication transceivers and/or functionality described therein) that are described above without departing from the scope and spirit of the invention.

[0272] In view of the above detailed description of the invention and associated drawings, other modifications and variations will now become apparent. It should also be apparent that such other. modifications and variations may be effected without departing from the spirit and scope of the invention. 

What is claimed is:
 1. An encoder that performs both LDPC (Low Density Parity Check) encoding and modulation encoding on a binary sequence to generate an LDPC coded modulation signal, the encoder comprising: an LDPC encoder that performs LDPC coding on the binary sequence to generate an LDPC codeword that includes a plurality of LDPC coded bits; an S/P (Serial to Parallel) mapping functional block that divides the LDPC codeword into a plurality of paths such that each path of the plurality of paths outputs selected LDPC coded bits of the plurality of LDPC coded bits; wherein LDPC coded bits that are output from the plurality of paths are grouped together to form a plurality of LDPC coded symbols; a plurality of modulation encoders operating cooperatively such that each modulation encoder of the plurality of modulation encoders selectively receives certain LDPC coded symbols of the plurality of LDPC coded symbols according to a predetermined cycle; wherein each modulation encoder of the plurality of modulation encoders performs modulation encoding on the LDPC coded symbols of the plurality of LDPC coded symbols that it receives thereby generating corresponding pluralities of LDPC coded modulation symbols; and wherein LDPC coded modulation symbols are selected from the corresponding pluralities of LDPC coded modulation symbols to form the LDPC coded modulation signal that is an LDPC variable modulation signal.
 2. The encoder of claim 1, wherein: the S/P mapping functional block divides the LDPC codeword into 3 paths; a second n bits of the plurality of LDPC coded bits of the LDPC codeword are provided to a first path of the 3 paths; a last n bits of the plurality of LDPC coded bits of the LDPC codeword are provided to a second path of the 3 paths; and a first n bits of the plurality of LDPC coded bits of the LDPC codeword are provided to a third path of the 3 paths.
 3. The encoder of claim 1, wherein: the S/P mapping functional block divides the LDPC codeword into 3 paths; a first bit is selected from a first path of the 3 paths; a second bit is selected from a second path of the 3 paths; a third bit is selected from a third path of the 3 paths; and the first bit, the second bit, and the third bit form are grouped together to form a 3 bit LDPC coded symbol.
 4. The encoder of claim 1, wherein: the plurality of modulation encoders includes a first modulation encoder and a second modulation encoder; the plurality of LDPC coded symbols includes a first plurality of LDPC coded symbols and a second plurality of LDPC coded symbols; the first modulation encoder receives all of the LDPC coded symbols of the first plurality of LDPC coded symbols and odd numbered LDPC coded symbols of the second plurality of LDPC coded symbols; and the second modulation encoder receives even numbered LDPC coded symbols of the second plurality of LDPC coded symbols.
 5. The encoder of claim 1, wherein: the plurality of modulation encoders includes a first modulation encoder, a second modulation encoder, and a third modulation encoder; the plurality of LDPC coded symbols includes a first plurality of LDPC coded symbols and a second plurality of LDPC coded symbols; the first modulation encoder receives all of the LDPC coded symbols of the first plurality of LDPC coded symbols; the second modulation encoder receives even numbered LDPC coded symbols of the second plurality of LDPC coded symbols; and the third modulation encoder receives odd numbered LDPC coded symbols of the second plurality of LDPC coded symbols.
 6. The encoder of claim 1, wherein: the plurality of modulation encoders includes a first 8 PSK (8 Phase Shift Key) modulation encoder and a second 8 PSK modulation encoder; the first 8 PSK modulation encoder performs modulation encoding using a first modulation on the LDPC coded symbols that it receives thereby generating a first corresponding plurality of LDPC coded modulation symbols; the second 8 PSK modulation encoder performs modulation encoding using a second modulation on the LDPC coded symbols that it receives thereby generating a second corresponding plurality of LDPC coded modulation symbols; and LDPC coded modulation symbols are selected from the first corresponding plurality of LDPC coded modulation symbols and the second corresponding plurality of LDPC coded modulation symbols to form the LDPC coded modulation signal that is an LDPC variable modulation signal.
 7. The encoder of claim 1, wherein: the plurality of modulation encoders includes a first 8 PSK (8 Phase Shift Key) modulation encoder, a second 8 PSK modulation encoder, and a third 8 PSK modulation encoder; the first 8 PSK modulation encoder performs modulation encoding using a first modulation on the LDPC coded symbols that it receives thereby generating a first corresponding plurality of LDPC coded modulation symbols; the second 8 PSK modulation encoder performs modulation encoding using a second modulation on the LDPC coded symbols that it receives thereby generating a second corresponding plurality of LDPC coded modulation symbols; the third 8 PSK modulation encoder performs modulation encoding using a third modulation on the LDPC coded symbols that it receives thereby generating a third corresponding plurality of LDPC coded modulation symbols; and LDPC coded modulation symbols are selected from the first corresponding plurality of LDPC coded modulation symbols, the second corresponding plurality of LDPC coded modulation symbols, and the third corresponding plurality of LDPC coded modulation symbols to form the LDPC coded modulation signal that is an LDPC variable modulation signal.
 8. The encoder of claim 1, wherein: each modulation encoder of the plurality of modulation encoders performs modulation encoding on the LDPC coded symbols of the plurality of LDPC coded symbols that it receives according to a modulation corresponding to that modulation encoder; each modulation encoder employs a modulation that is different that the modulations employed by the other modulation encoders when performing modulation encoding that is different that the modulation employed by the other modulation encoders; and each modulation includes a constellation and a corresponding mapping.
 9. The encoder of claim 1, wherein: the LDPC variable modulation signal includes a plurality of LDPC coded modulation symbols; a first LDPC coded modulation symbol of the plurality of LDPC coded modulation symbols is modulation encoded according to a first modulation that includes a first constellation and a corresponding first mapping; and a second LDPC coded modulation symbol of the plurality of LDPC coded modulation symbols is modulation encoded according to a second modulation that includes a second constellation and a corresponding second mapping.
 10. The encoder of claim 9, wherein: the first constellation and the second constellation are both 8 PSK (8 Phase Shift Key) shaped constellations; the first modulation includes the 8 PSK shaped constellation whose constellation points are mapped according to the corresponding first mapping; and the second modulation includes the 8 PSK shaped constellation whose constellation points are mapped according to the corresponding second mapping.
 11. The encoder of claim 1, wherein: the LDPC encoder performs variable code rate LDPC coding on the binary sequence to generate the LDPC codeword such that the LDPC codeword is a variable code rate LDPC codeword; the S/P mapping functional block that divides the variable code rate LDPC codeword into the plurality of paths such that each path of the plurality of paths outputs selected LDPC coded bits of the plurality of LDPC coded bits; the LDPC coded bits that are output from the plurality of paths are grouped together to form a plurality of LDPC coded symbols such that a first LDPC coded symbol includes a first number of bits and a second LDPC coded symbol includes a second number of bits; and the formed LDPC coded modulation signal that is an LDPC variable modulation signal is also an LDPC variable code rate signal.
 12. The encoder of claim 1, wherein: the encoder is implemented within a communication device; and the communication device is implemented within at least one of a satellite communication system, an HDTV (High Definition Television) communication system, a cellular communication system, a microwave communication system, a point-to-point communication system, a uni-directional communication system, a bi-directional communication system, a one to many communication system, a fiber-optic communication system, a WLAN (Wireless Local Area Network) communication system, and a DSL (Digital Subscriber Line) communication system.
 13. An encoder that performs both LDPC (Low Density Parity Check) encoding and modulation encoding on a binary sequence to generate an LDPC coded modulation signal, the encoder comprising: an LDPC encoder that performs variable code rate LDPC coding on the binary sequence to generate a variable code rate LDPC codeword that includes a plurality of LDPC coded bits; an S/P (Serial to Parallel) mapping functional block that divides the variable code rate LDPC codeword into a plurality of paths such that each path of the plurality of paths outputs selected LDPC coded bits of the plurality of LDPC coded bits; wherein LDPC coded bits that are output from the plurality of paths are grouped together to form a plurality of LDPC coded symbols; a plurality of modulation encoders operating cooperatively such that each modulation encoder of the plurality of modulation encoders selectively receives certain LDPC coded symbols of the plurality of LDPC coded symbols according to a predetermined cycle; wherein each modulation encoder of the plurality of modulation encoders performs modulation encoding on the LDPC coded symbols of the plurality of LDPC coded symbols that it receives thereby generating corresponding pluralities of LDPC coded modulation symbols; and wherein LDPC coded modulation symbols are selected from the corresponding pluralities of LDPC coded modulation symbols to form the LDPC coded modulation signal that is an LDPC variable code rate and modulation signal.
 14. The encoder of claim 13, wherein: the S/P mapping functional block divides the variable code rate LDPC codeword into 3 paths; a second n bits of the plurality of LDPC coded bits of the variable code rate LDPC codeword are provided to a first path of the 3 paths; a last n bits of the plurality of LDPC coded bits of the variable code rate LDPC codeword are provided to a second path of the 3 paths; and a first n bits of the plurality of LDPC coded bits of the variable code rate LDPC codeword are provided to a third path of the 3 paths.
 15. The encoder of claim 13, wherein: the S/P mapping functional block divides the variable code rate LDPC codeword into 3 paths; a first bit is selected from a first path of the 3 paths; a second bit is selected from a second path of the 3 paths; a third bit is selected from a third path of the 3 paths; and the first bit, the second bit, and the third bit form are grouped together to form a 3 bit LDPC coded symbol.
 16. The encoder of claim 13, wherein: the plurality of modulation encoders includes a first modulation encoder and a second modulation encoder; the plurality of LDPC coded symbols includes a first plurality of LDPC coded symbols and a second plurality of LDPC coded symbols; the first modulation encoder receives all of the LDPC coded symbols of the first plurality of LDPC coded symbols and odd numbered LDPC coded symbols of the second plurality of LDPC coded symbols; and the second modulation encoder receives even numbered LDPC coded symbols of the second plurality of LDPC coded symbols.
 17. The encoder of claim 13, wherein: the plurality of modulation encoders includes a first modulation encoder, a second modulation encoder, and a third modulation encoder; the plurality of LDPC coded symbols includes a first plurality of LDPC coded symbols and a second plurality of LDPC coded symbols; the first modulation encoder receives all of the LDPC coded symbols of the first plurality of LDPC coded symbols; the second modulation encoder receives even numbered LDPC coded symbols of the second plurality of LDPC coded symbols; and the third modulation encoder receives odd numbered LDPC coded symbols of the second plurality of LDPC coded symbols.
 18. The encoder of claim 13, wherein: the plurality of modulation encoders includes a first 8 PSK (8 Phase Shift Key) modulation encoder and a second 8 PSK modulation encoder; the first 8 PSK modulation encoder performs modulation encoding using a first modulation on the LDPC coded symbols that it receives thereby generating a first corresponding plurality of LDPC coded modulation symbols; the second 8 PSK modulation encoder performs modulation encoding using a second modulation on the LDPC coded symbols that it receives thereby generating a second corresponding plurality of LDPC coded modulation symbols; and LDPC coded modulation symbols are selected from the first corresponding plurality of LDPC coded modulation symbols and the second corresponding plurality of LDPC coded modulation symbols to form the LDPC coded modulation signal that is an LDPC variable modulation signal.
 19. The encoder of claim 13, wherein: the plurality of modulation encoders includes a first 8 PSK (8 Phase Shift Key) modulation encoder, a second 8 PSK modulation encoder, and a third 8 PSK modulation encoder; the first 8 PSK modulation encoder performs modulation encoding using a first modulation on the LDPC coded symbols that it receives thereby generating a first corresponding plurality of LDPC coded modulation symbols; the second 8 PSK modulation encoder performs modulation encoding using a second modulation on the LDPC coded symbols that it receives thereby generating a second corresponding plurality of LDPC coded modulation symbols; the third 8 PSK modulation encoder performs modulation encoding using a third modulation on the LDPC coded symbols that it receives thereby generating a third corresponding plurality of LDPC coded modulation symbols; and LDPC coded modulation symbols are selected from the first corresponding plurality of LDPC coded modulation symbols, the second corresponding plurality of LDPC coded modulation symbols, and the third corresponding plurality of LDPC coded modulation symbols to form the LDPC coded modulation signal that is an LDPC variable modulation signal.
 20. The encoder of claim 13, wherein: each modulation encoder of the plurality of modulation encoders performs modulation encoding on the LDPC coded symbols of the plurality of LDPC coded symbols that it receives according to a modulation corresponding to that modulation encoder; each modulation encoder employs a modulation that is different that the modulations employed by the other modulation encoders when performing modulation encoding that is different that the modulation employed by the other modulation encoders; and each modulation includes a constellation and a corresponding mapping.
 21. The encoder of claim 13, wherein: the LDPC variable modulation signal includes a plurality of LDPC coded modulation symbols; a first LDPC coded modulation symbol of the plurality of LDPC coded modulation symbols is modulation encoded according to a first modulation that includes a first constellation and a corresponding first mapping; and a second LDPC coded modulation symbol of the plurality of LDPC coded modulation symbols is modulation encoded according to a second modulation that includes a second constellation and a corresponding second mapping.
 22. The encoder of claim 21, wherein: the first constellation and the second constellation are both 8 PSK (8 Phase Shift Key) shaped constellations; the first modulation includes the 8 PSK shaped constellation whose constellation points are mapped according to the corresponding first mapping; and the second modulation includes the 8 PSK shaped constellation whose constellation points are mapped according to the corresponding second mapping.
 23. The encoder of claim 13, wherein: the LDPC coded bits that are output from the plurality of paths are grouped together to form a plurality of LDPC coded symbols such that a first LDPC coded symbol includes a first number of bits and a second LDPC coded symbol includes a second number of bits.
 24. The encoder of claim 13, wherein: the encoder is implemented within a communication device; and the communication device is implemented within at least one of a satellite communication system, an HDTV (High Definition Television) communication system, a cellular communication system, a microwave communication system, a point-to-point communication system, a unidirectional communication system, a bi-directional communication system, a one to many communication system, a fiber-optic communication system, a WLAN (Wireless Local Area Network) communication system, and a DSL (Digital Subscriber Line) communication system.
 25. An encoder that performs both LDPC (Low Density Parity Check) encoding and modulation encoding on a binary sequence to generate an LDPC coded modulation signal, the encoder comprising: an LDPC encoder that performs LDPC coding on the binary sequence to generate an LDPC codeword that includes a plurality of LDPC coded bits; an S/P (Serial to Parallel) mapping functional block that divides the LDPC codeword into 3 paths; wherein a first path of the 3 paths includes a first plurality of LDPC coded bits selected from the plurality of LDPC coded bits; wherein a second path of the 3 paths includes a second plurality of LDPC coded bits selected from the plurality of LDPC coded bits; wherein a third path of the 3 paths includes a third plurality of LDPC coded bits selected from the plurality of LDPC coded bits; wherein, during successive time periods, the S/P mapping functional block outputs 1 bit from the first plurality of LDPC coded bits, 1 bit from the second plurality of LDPC coded bits, and 1 bit from the third plurality of LDPC coded bits such that the output bits are grouped together to generate 3 bit LDPC coded symbols; wherein the generated 3 bit LDPC coded symbols cooperatively form a plurality of 3 bit LDPC coded symbols such that each 3 bit LDPC coded symbol corresponds to one of the successive time periods; a first modulation encoder and a second modulation encoder operating cooperatively such each of the first modulation encoder and the second modulation encoder alternatively receives 3 bit LDPC coded symbols of the plurality of 3 bit LDPC coded symbols that are output from the S/P mapping functional block; wherein the first modulation encoder performs modulation encoding on the 3 bit LDPC coded symbols that it receives according to a first modulation thereby generating a first plurality of LDPC coded modulation symbols; wherein the second modulation encoder performs modulation encoding on the 3 bit LDPC coded symbols that it receives according to a second modulation thereby generating a second plurality of LDPC coded modulation symbols; and wherein LDPC coded modulation symbols are selected from the first plurality of LDPC coded modulation symbols and the second plurality of LDPC coded modulation symbols to form the LDPC coded modulation signal that is an LDPC variable modulation signal.
 26. The encoder of claim 25, wherein: the plurality of 3 bit LDPC coded symbols includes a first plurality of 3 bit LDPC coded symbols and a second plurality of 3 bit LDPC coded symbols; the first modulation encoder receives all of the 3 bit LDPC coded symbols of the first plurality of 3 bit LDPC coded symbols and odd numbered 3 bit LDPC coded symbols of the second plurality of 3 bit LDPC coded symbols; and the second modulation encoder receives even numbered 3 bit LDPC coded symbols of the second plurality of 3 bit LDPC coded symbols.
 27. The encoder of claim 25, wherein: the LDPC variable modulation signal includes a plurality of LDPC coded modulation symbols; a first LDPC coded modulation symbol of the plurality of LDPC coded modulation symbols is modulation encoded according to a first modulation includes an 8 PSK (8 Phase Shift Key) shaped constellation whose constellation points are mapped according to a corresponding first mapping; and a second LDPC coded modulation symbol of the plurality of LDPC coded modulation symbols is modulation encoded according to a second modulation that includes the 8 PSK shaped constellation whose constellation points are mapped according to a corresponding second mapping.
 28. The encoder of claim 25, wherein: the encoder is implemented within a communication device; and the communication device is implemented within at least one of a satellite communication system, an HDTV (High Definition Television) communication system, a cellular communication system, a microwave communication system, a point-to-point communication system, a uni-directional communication system, a bi-directional communication system, a one to many communication system, a fiber-optic communication system, a WLAN (Wireless Local Area Network) communication system, and a DSL (Digital Subscriber Line) communication system.
 29. An encoder that performs both LDPC (Low Density Parity Check) encoding and modulation encoding on a binary sequence to generate an LDPC coded modulation signal, the encoder comprising: an LDPC encoder that performs LDPC coding on the binary sequence to generate an LDPC codeword that includes a plurality of LDPC coded bits; an S/P (Serial to Parallel) mapping functional block that divides the LDPC codeword into 3 paths; wherein a first path of the 3 paths includes a first plurality of LDPC coded bits selected from the plurality of LDPC coded bits; wherein a second path of the 3 paths includes a second plurality of LDPC coded bits selected from the plurality of LDPC coded bits; wherein a third path of the 3 paths includes a third plurality of LDPC coded bits selected from the plurality of LDPC coded bits; wherein, during successive time periods, the S/P mapping functional block outputs 1 bit from the first plurality of LDPC coded bits, 1 bit from the second plurality of LDPC coded bits, and 1 bit from the third plurality of LDPC coded bits such that the output bits are grouped together to generate 3 bit LDPC coded symbols; wherein the generated 3 bit LDPC coded symbols cooperatively form a plurality of 3 bit LDPC coded symbols such that each 3 bit LDPC coded symbol corresponds to one of the successive time periods; a first modulation encoder, a second modulation encoder, and a third modulation encoder operating cooperatively such each of the first modulation encoder, the second modulation encoder, and the third modulation encoder successively receives 3 bit LDPC coded symbols of the plurality of 3 bit LDPC coded symbols that are output from the S/P mapping functional block according to a predetermined cycle; wherein the first modulation encoder performs modulation encoding on the 3 bit LDPC coded symbols that it receives according to a first modulation thereby generating a first plurality of LDPC coded modulation symbols; wherein the second modulation encoder performs modulation encoding on the 3 bit LDPC coded symbols that it receives according to a second modulation thereby generating a second plurality of LDPC coded modulation symbols; wherein the third modulation encoder performs modulation encoding on the 3 bit LDPC coded symbols that it receives according to a third modulation thereby generating a third plurality of LDPC coded modulation symbols; and wherein LDPC coded modulation symbols are selected from the first plurality of LDPC coded modulation symbols, the second plurality of LDPC coded modulation symbols, and the third plurality of LDPC coded modulation symbols to form the LDPC coded modulation signal that is an LDPC variable modulation signal.
 30. The encoder of claim 29, wherein: the plurality of 3 bit LDPC coded symbols includes a first plurality of 3 bit LDPC coded symbols and a second plurality of 3 bit LDPC coded symbols; the first modulation encoder receives all of the 3 bit LDPC coded symbols of the first plurality of 3 bit LDPC coded symbols; the second modulation encoder receives even numbered 3 bit LDPC coded symbols of the second plurality of 3 bit LDPC coded symbols; and the third modulation encoder receives odd numbered 3 bit LDPC coded symbols of the second plurality of 3 bit LDPC coded symbols.
 31. The encoder of claim 29, wherein: the LDPC variable modulation signal includes a plurality of LDPC coded modulation symbols; a first LDPC coded modulation symbol of the plurality of LDPC coded modulation symbols is modulation encoded according to a first modulation includes an 8 PSK (8 Phase Shift Key) shaped constellation whose constellation points are mapped according to a corresponding first mapping; a second LDPC coded modulation symbol of the plurality of LDPC coded modulation symbols is modulation encoded according to a second modulation that includes the 8 PSK shaped constellation whose constellation points are mapped according to a corresponding second mapping; and a third LDPC coded modulation symbol of the plurality of LDPC coded modulation symbols is modulation encoded according to a third modulation that includes the 8 PSK shaped constellation whose constellation points are mapped according to a corresponding third mapping.
 32. The encoder of claim 29, wherein: the encoder is implemented within a communication device; and the communication device is implemented within at least one of a satellite communication system, an HDTV (High Definition Television) communication system, a cellular communication system, a microwave communication system, a point-to-point communication system, a uni-directional communication system, a bi-directional communication system, a one to many communication system, a fiber-optic communication system, a WLAN (Wireless Local Area Network) communication system, and a DSL (Digital Subscriber Line) communication system.
 33. An encoding method performs both LDPC (Low Density Parity Check) encoding and modulation encoding on a binary sequence to generate an LDPC coded modulation signal, the method comprising: performing LDPC coding on the binary sequence to generate an LDPC codeword that includes a plurality of LDPC coded bits; dividing the LDPC codeword into a plurality of paths such that each path of the plurality of paths outputs selected LDPC coded bits of the plurality of LDPC coded bits; grouping the LDPC coded bits that are output from the plurality of paths together to form a plurality of LDPC coded symbols; selectively performing modulation encoding on the plurality of LDPC coded symbols according to a plurality of modulations such that a first LDPC coded symbol of the plurality of LDPC coded symbols is modulation encoded according to a first modulation to form a first LDPC coded modulation symbol and a second LDPC coded symbol of the plurality of LDPC coded symbols is modulation encoded according to a second modulation to form a second LDPC coded modulation symbol; and arranging the first LDPC coded modulation symbol and the second LDPC coded modulation symbol to form the LDPC coded modulation signal that is an LDPC variable modulation signal.
 34. The method of claim 33, further comprising: dividing the LDPC codeword into 3 paths; providing a second n bits of the plurality of LDPC coded bits of the LDPC codeword to a first path of the 3 paths; providing a last n bits of the plurality of LDPC coded bits of the LDPC codeword to a second path of the 3 paths; and providing a first n bits of the plurality of LDPC coded bits of the LDPC codeword to a third path of the 3 paths.
 35. The method of claim 33, further comprising: dividing the LDPC codeword into 3 paths; selecting a first bit from a first path of the 3 paths; selecting a second bit from a second path of the 3 paths; selecting a third bit from a third path of the 3 paths; and grouping the first bit, the second bit, and the third bit form together to form a 3 bit LDPC coded symbol.
 36. The method of claim 33, wherein: the plurality of LDPC coded symbols includes a first plurality of LDPC coded symbols and a second plurality of LDPC coded symbols; further comprising: modulation encoding all of the LDPC coded symbols of the first plurality of LDPC coded symbols and odd numbered LDPC coded symbols of the second plurality of LDPC coded symbols according to the first modulation; modulation encoding even numbered LDPC coded symbols of the second plurality of LDPC coded symbols according to the second modulation.
 37. The method of claim 33, wherein: the plurality of LDPC coded symbols includes a first plurality of LDPC coded symbols and a second plurality of LDPC coded symbols; further comprising: modulation encoding all of the LDPC coded symbols of the first plurality of LDPC coded symbols according to the first modulation; modulation encoding even numbered LDPC coded symbols of the second plurality of LDPC coded symbols according to the second modulation; and modulation encoding odd numbered LDPC coded symbols of the second plurality of LDPC coded symbols according to the third modulation.
 38. The method of claim 33, wherein: the plurality of modulation encoders includes a first 8 PSK (8 Phase Shift Key) modulation encoder and a second 8 PSK modulation encoder; the first 8 PSK modulation encoder performs modulation encoding using a first modulation on the LDPC coded symbols that it receives thereby generating a first corresponding plurality of LDPC coded modulation symbols; the second 8 PSK modulation encoder performs modulation encoding using a second modulation on the LDPC coded symbols that it receives thereby generating a second corresponding plurality of LDPC coded modulation symbols; and LDPC coded modulation symbols are selected from the first corresponding plurality of LDPC coded modulation symbols and the second corresponding plurality of LDPC coded modulation symbols to form the LDPC coded modulation signal that is an LDPC variable modulation signal.
 39. The method of claim 33, wherein: the first modulation includes a first constellation and a corresponding first mapping; and the second modulation includes a second constellation and a corresponding second mapping.
 40. The method of claim 33, wherein: the first modulation includes an 8 PSK (8 Phase Shift Key) shaped constellation whose constellation points are mapped according to a corresponding first mapping; and the second modulation includes the 8 PSK shaped constellation whose constellation points are mapped according to a corresponding second mapping.
 41. The method of claim 33, further comprising: performing variable code rate LDPC coding on the binary sequence to generate the LDPC codeword such that the LDPC codeword is a variable code rate LDPC codeword; dividing the variable code rate LDPC codeword into the plurality of paths such that each path of the plurality of paths outputs selected LDPC coded bits of the plurality of LDPC coded bits; grouping together outputs from the plurality of paths to form a plurality of LDPC coded symbols such that a first LDPC coded symbol includes a first number of bits and a second LDPC coded symbol includes a second number of bits; and wherein: the formed LDPC coded modulation signal that is an LDPC variable modulation signal is also an LDPC variable code rate signal.
 42. The method of claim 33, wherein: the method is performed within an encoder; the encoder is implemented within a communication device; and the communication device is implemented within at least one of a satellite communication system, an HDTV (High Definition Television) communication system, a cellular communication system, a microwave communication system, a point-to-point communication system, a unidirectional communication system, a bi-directional communication system, a one to many communication system, a fiber-optic communication system, a WLAN (Wireless Local Area Network) communication system, and a DSL (Digital Subscriber Line) communication system. 